redis哨兵客户端连接(redis哨兵模式连接命令)

redis哨兵客户端连接(redis哨兵模式连接命令)需要做下面这些事情 将宕机的 master 下线 找一个 slave 作为 master 通知所有的 slave 连接新的 master 启动新的 master 与 slave 全量复制 N 部分复制 N 哨兵 sentinel 在 redis 集群架构中是一个非常重要的组件 其主要功能有下面这些 监控 不断的检查 master 和 slave 是否正常运行 master 存活检测 master 与 slave 运行情况检测

大家好,我是讯享网,很高兴认识大家。



需要做下面这些事情:

  • 将宕机的master下线
  • 找一个slave作为master
  • 通知所有的slave连接新的master
  • 启动新的master与slave
  • 全量复制*N+部分复制 *N

哨兵(sentinel)在redis集群架构中是一个非常重要的组件,其主要功能有下面这些:

  • 监控
    不断的检查master和slave是否正常运行
    master存活检测、master与slave运行情况检测
  • 通知(提醒)
    当被监控的服务器出现问题时,向其他(哨兵间、客户端)发送通知
  • 自动故障转移
    断开master与slave连接,选取一个slave作为master,将其他slave连接到新的master,并告知客户端新的master的地址。

注意: 哨兵也是一台redis服务器,只是不提供数据服务,通常哨兵配置数量为单数

启动哨兵指令:

redis-sentinel 配置文件.conf

连接命令:


讯享网

redis-cli -p 端口号

监控阶段

redis cli 如何链接哨兵模式 操作 redis客户端连接哨兵_服务器

redis cli 如何链接哨兵模式 操作 redis客户端连接哨兵_redis_02

工作内容:
  1. 第一个sentinel与master进行连接后,发送info指令
  2. 建立长期cmd连接,sentinal同时保存所有哨兵状态,master中记录redis实例信息
  3. 通过master中的slave信息与其中的slave进行连接并发送info指令
  4. 第二个sentinel进入,与master连接发送info指令,发现master端的sentinels
    有信息
  5. 与第一个sentinel建立连接并同步信息,互相发送ping命令保证对方在线,并于master建立cmd连接

通知阶段

redis cli 如何链接哨兵模式 操作 redis客户端连接哨兵_配置文件_03

故障转移阶段

故障转移阶段引起原因:其中一台sentinel多次获取master状态失败。

发现master宕机
选出sentinel担任处置工作:

投票机制:每个sentinel均是投票者也是参选者,例如:当前有五台sentinel,其中4台sentinel会同时向剩余的一台sentinel发送自己的信息,剩余这台的sentinel会将自己的票投给信息最先到达的sentinel,最后通过所有投票情况选出获得票数最多的sentinel。

通过投票机制产生的sentinel从服务器列表中选择出备选的master

担任master的选择条件:

  • 在线的
  • 响应速度快的
  • 与原master断开时间短的
  • 优先原则:
  • 优先级
  • offset
  • runid
发送指令

当原来的master重新启动后,会变成看slave节点。

小讯
上一篇 2025-05-31 14:16
下一篇 2025-06-08 22:52

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/137581.html