Redis主从复制,哨兵模式

主从复制

主从复制主要的作用

  • 数据冗余: 主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。
  • 故障恢复: 当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复 (实际上是一种服务的冗余)
  • 负载均衡: 在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务 (即写 Redis 数据时应用连接主节点,读 Redis 数据时应用连接从节点),分担服务器负载。尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高 Redis 服务器的并发量。
  • 高可用基石: 除了上述作用以外,主从复制还是哨兵和集群能够实施的 基础,因此说主从复制是 Redis 高可用的基础。

在redis中实现主从复制非常简单,只需要在开启的服务中输入:SLAVEOF MASTER PORT,就可以与主服务器实现主从复制。info replication查看主从状态。主服务器可以进行读写操作,从服务器只能进行读操作,不能进行写操作。

哨兵模式

哨兵模式是在主从模式的基础上,增加一个哨兵节点,对主从服务器进行监控,若发现主服务器宕机故障,则自动实现故障转移,在从服务器中选择一个新的主服务器,不需要人工干预。

Step1:创建哨兵启动文件 vim sentinel.conf,其中的主要配置为sentinel monitor mymaster 192.168.0.5 6379 2 

 mymaster为主机名字,可随意取;192.168.0.5 6379,主服务器的ip地址和端口;最后的数字2,代表当主机宕机,选取新的主服务器的时候需要2个哨兵节点的同意。

Step2:开启哨兵服务 redis-sentinel sentinel.conf

Step3:开启一个主服务器,两个从服务器

Step4:断掉主服务器

Step5:默认时间为30秒(可配置),哨兵会选取新的从服务器变为主服务器,等之前的主服务器重连后,会变成新的从服务器。

从 Slave 中选择新 Master 节点的规则(slave 升级成 master 之后)

  1. 选择 slave-priority 最高的节点。
  2. 选择复制偏移量最大的节点(同步数据最多)。
  3. 选择 runId 最小的节点
原文地址:https://www.cnblogs.com/xingzhu-nan/p/14256687.html