需要做下面这些事情:
哨兵(sentinel)在redis集群架构中是一个非常重要的组件,其主要功能有下面这些:
- 监控
不断的检查master和slave是否正常运行
master存活检测、master与slave运行情况检测 - 通知(提醒)
当被监控的服务器出现问题时,向其他(哨兵间、客户端)发送通知 - 自动故障转移
断开master与slave连接,选取一个slave作为master,将其他slave连接到新的master,并告知客户端新的master的地址。
注意: 哨兵也是一台redis服务器,只是不提供数据服务,通常哨兵配置数量为单数。
启动哨兵指令:
redis-sentinel 配置文件.conf
连接命令:
redis-cli -p 端口号
监控阶段
工作内容:
- 第一个sentinel与master进行连接后,发送info指令
- 建立长期cmd连接,sentinal同时保存所有哨兵状态,master中记录redis实例信息
- 通过master中的slave信息与其中的slave进行连接并发送info指令
- 第二个sentinel进入,与master连接发送info指令,发现master端的sentinels
有信息 - 与第一个sentinel建立连接并同步信息,互相发送ping命令保证对方在线,并于master建立cmd连接
通知阶段
故障转移阶段
故障转移阶段引起原因:其中一台sentinel多次获取master状态失败。
发现master宕机
选出sentinel担任处置工作:
投票机制:每个sentinel均是投票者也是参选者,例如:当前有五台sentinel,其中4台sentinel会同时向剩余的一台sentinel发送自己的信息,剩余这台的sentinel会将自己的票投给信息最先到达的sentinel,最后通过所有投票情况选出获得票数最多的sentinel。
通过投票机制产生的sentinel从服务器列表中选择出备选的master
担任master的选择条件:
- 在线的
- 响应速度快的
- 与原master断开时间短的
- 优先原则:
- 优先级
- offset
- runid
发送指令
当原来的master重新启动后,会变成看slave节点。
到此这篇redis哨兵客户端连接(redis哨兵模式连接命令)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/47745.html