文档开发者中心
我的

Redis主从模式的常用类型


Redis的可靠性主要有主从模式和集群模式。对于主从模式而言,Redis有以下方案:


(1)Sentinel方案;


(2)Keepalived方案。


1. Sentinel方案

作为Redis主推的官方方案,主要的实现原理是通过引入哨兵sentinel节点,来投标决定master节点故障后,哪个slave节点会被选举接管故障的master节点。


Sentinel节点会周期性的向Redis节点发送心跳消息(10s一次向master节点发送心跳,1s一次向从节点和sentinel集群的其他salve节点发送心跳,2s一次广播当前的master信息和sentinel集群的信息)。

当Sentinel集群检测到Redis的Master节点故障,就需要通过在Sentinel内投票,如果投票通过,则将目标的节点执行failover切换。

优点:官方推荐的方案;

缺点:Sentinel1已经废弃,Sentinel2目前在rewrite阶段,有稳定版本;Sentinel集群至少需要部署3个实例。这样就不利于sentinel部署了,如果我们规定只有两个Redis节点,Sentinel节点就不能部署在Redis节点上,必须找其他的节点来部署,这样部署起来就比较

麻烦一些。




2. Keepalived方案

利用Linux官方的Keepalived软件做load balance和HA。主要原理是Keepalived会监控Master和Slaver节点。当主节点故障时,会利用VRRP协议,将IP切换到Slave节点。


优点:非官方方案,但是使用比较广泛,有比较成熟的redis_check.sh, redis_master.sh, redis_backup.sh, redis_fault.sh, redis_stop.sh脚本;Keepalived可以随Redis部署,不需要额外的节点,组网比较简单。

缺点:安装部署需要引入一个新的软件Keepalived。

点赞
2
收藏
2
回复
4
分享
举报
浏览743 编辑于2019-11-28 02:02未知归属地
全部评论
最多点赞
最新发布
最早发布

这篇可以,干货挺多啊


1
2楼回复于2019-12-03 02:59 未知归属地
  • waylau

    感谢支持~!哈哈哈,~~~~~~~~

    2019-12-11 11:32 未知归属地

感谢大佬指点。。。。。。。。


1
1楼回复于2019-12-03 02:58 未知归属地
  • waylau

    感谢支持~!哈哈哈,~~~~~

    2019-12-11 11:32 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。