实际场景分析:为了解决主从模式的无法自动容错及恢复的问题,Redis引入了一种哨兵模式的集群架构。哨兵模式是在主从复制的基础上加入了哨兵节点。哨兵节点是一种特殊的Redis节点,用于监控主节点和从节点的状态。当主节点发生故障时,哨兵节点可以自动进行故障转移,选择一个合适的从节点升级为主节点,并通知其他从节点和应用程序进行更新。tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
图片tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
在原来的主从架构中,引入哨兵节点,其作用是监控Redis主节点和从节点的状态。每个Redis实例都可以作为哨兵节点,通常需要部署多个哨兵节点,以确保故障转移的可靠性。tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
好啦,话不多说,接下来就让我们一起实操吧!tta28资讯网——每日最新资讯28at.com
看重点
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
看到最后:免费领取详细的Word文档?tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
图片tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
01哨兵模式原理
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
哨兵节点定期向所有主节点和从节点发送PING命令,如果在指定的时间内未收到PONG响应,哨兵节点会将该节点标记为主观下线。如果一个主节点被多数哨兵节点标记为主观下线,那么它将被标记为客观下线。tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
当主节点被标记为客观下线时,哨兵节点会触发故障转移过程。”它会从所有健康的从节点中选举一个新的主节点,并将所有从节点切换到新的主节点,实现自动故障转移。同时,哨兵节点会更新所有客户端的配置,指向新的主节点。tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
哨兵节点通过发布订阅功能来通知客户端有关主节点状态变化的消息。客户端收到消息后,会更新配置,将新的主节点信息应用于连接池,从而使客户端可以继续与新的主节点进行交互。tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
这个集群模式的优点就是为整个集群系统了一种故障转移和恢复的能力。tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
02搭建Redis哨兵模式步骤
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
2.1 安装Redis主从模式(一主二仆)
tta28资讯网——每日最新资讯28at.com
Redis主从模式具体步骤请参考详文《不要只会玩儿Redis单机版,如果是读多写少的情况,请选择Redis主从模式吧》tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
PS:如果都是一台服务器测试哨兵模式,请将slave-6380.conf和slave-6381.conf中slaveof 127.0.01 6379tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
2.2 配置Redis哨兵模式(sentinel)具体步骤如下
tta28资讯网——每日最新资讯28at.com
2.2.1 启动好一主二仆模式,6379带着6380、6381
tta28资讯网——每日最新资讯28at.com
查看详细信息:info replicationtta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
图片tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
图片tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
图片tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
2.2.2 自定义的config目录下新建sentinel.conf文件
tta28资讯网——每日最新资讯28at.com
新建sentinel文件命令:touch sentinel.conftta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
配置哨兵,填写内容:vi sentinel.conftta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
sentinel monitor mymaster 127.0.0.1 6379 1tta28资讯网——每日最新资讯28at.com
#其中mymaster为监控对象起的服务器名称,1为至少有多少个哨兵同意迁移的数量tta28资讯网——每日最新资讯28at.com
sentinel down-after-milliseconds mymaster 30000 tta28资讯网——每日最新资讯28at.com
#判定服务器down掉的时间周期,默认30000毫秒(30秒)tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
2.2.3 启动哨兵
tta28资讯网——每日最新资讯28at.com
退回上级目录:cd ../tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
执行命令:./redis-sentinel config/sentinel.conftta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
图片tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
2.2.4 当主机挂掉,从机选举中产生新的主机
tta28资讯网——每日最新资讯28at.com
(大概10秒左右可以看到哨兵窗口日志,切换了新的主机)tta28资讯网——每日最新资讯28at.com
哪个从机会被选举为主机呢?根据优先级别:slave-priority tta28资讯网——每日最新资讯28at.com
原主机重启后会变为从机。tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
图片tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
图片tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
PS:如果都是一台服务器测试哨兵模式,发现6379宕机后并没有实现选举从机过程,请务必将6380和6381的slaveof后的IP地址修改为127.0.0.1,将sentinel.conf中sentinel monitor mymaster 127.0.0.1 6379 1的IP地址也统一设置为127.0.0.1tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
03哨兵模式应用总结
tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
哨兵模式的优势主要在于当主节点发生故障时,哨兵节点可以自动进行故障转移与自动恢复,选择一个合适的从节点升级为主节点,并通知其他从节点和应用程序进行更新。tta28资讯网——每日最新资讯28at.com
tta28资讯网——每日最新资讯28at.com
但是哨兵模式最大的缺点,就是不适用于大规模应用的解决方案,它无法提供了更好的横向扩展和容错能力。tta28资讯网——每日最新资讯28at.com
本文链接:http://www.28at.com/showinfo-26-35878-0.htmlRedis哨兵模式,一主二仆反客为主,论故障转移和恢复能力还得是它呀
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com
上一篇: 如何有效使用Java并发Atomic包的原子类型
下一篇: Pyquery:一个灵活方便的 HTML 解析库