redis主从复制模式和Sentinel 高可用架构

两者的区别

redis主从复制模式和Sentinel高可用架构区别

Redis主从复制

可将主节点数据同步给从节点,从节点此时有两个作用:
一旦主节点宕机,从节点作为主节点的备份可以随时顶上来。
扩展主节点的读能力,分担主节点读压力。

主从复制存在的问题

一旦主节点宕机,从节点晋升成主节点,同时需要修改应用方的主节点地址,还需要命令所有从节点去复制新的主节点,整个过程需要人工干预。

主节点的写能力受到单机的限制。

主节点的存储能力受到单机的限制。

原生复制的弊端在早期的版本中也会比较突出,比如:Redis复制中断后,从节点会发起psync。此时如果同步不成功,则会进行全量同步,主库执行全量备份的同时,可能会造成毫秒或秒级的卡顿。

Sentinel高可用

Sentinel高可用特点

Sentinel的主要功能包括主节点存活检测、主从运行情况检测、自动故障转移(failover)、主从切换。Redis的Sentinel最小配置是一主一从。

Sentinel功能

Redis的Sentinel系统可以用来管理多个Redis服务器,该系统可以执行以下四个任务:

监控
Sentinel会不断的检查主服务器和从服务器是否正常运行。

通知
当被监控的某个Redis服务器出现问题,Sentinel通过API脚本向管理员或者其他的应用程序发送通知。

自动故障转移

当主节点不能正常工作时,Sentinel会开始一次自动的故障转移操作,它会将与失效主节点是主从关系的其中一个从节点升级为新的主节点,并且将其他的从节点指向新的主节点。

配置提供者

在RedisSentinel模式下,客户端应用在初始化时连接的是Sentinel节点集合,从中获取主节点的信息。

主观下线和客观下线
默认情况下,每个Sentinel节点会以每秒一次的频率对Redis节点和其它的Sentinel节点发送PING命令,并通过节点的回复来判断节点是否在线。

主观下线

主观下线适用于所有主节点和从节点。如果在down-after-milliseconds毫秒内,Sentinel没有收到目标节点的有效回复,则会判定该节点为主观下线。

客观下线

客观下线只适用于主节点。如果主节点出现故障,Sentinel节点会通过sentinelis-master-down-by-addr命令,向其它Sentinel节点询问对该节点的状态判断。如果超过个数的节点判定主节点不可达,则该Sentinel节点会判断主节点为客观下线。

sentinel集群搭建可以看 redis sentinel集群搭建

赞(2) 打赏
特别声明:除特殊标注,本站文章均为原创,遵循CC BY-NC 3.0,转载请注明出处。三伏磨 » redis主从复制模式和Sentinel 高可用架构

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏