10 哨兵模式

哨兵模式

哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有slave连接到新的master。

哨兵的作用

  • 监控

不断的检查master和slave是否正常运行。
master存活检测、master与slave运行情况检测

  • 通知(提醒)
    当被监控的服务器出现问题时,向其他(哨兵间,客户端)发送通知。
  • 自动故障转移

断开master与slave连接,选取一个slave作为master,将其他slave连接到新的master,并告知客户端新的服务器地址

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

配置哨兵

  • 配置一拖二的主从结构

  • 配置三个哨兵(配置相同,端口不同)

    ​ 参看sentinel.conf

  • 启动哨兵

    redis-sentinel sentinel-端口号.conf

主从切换

  • 哨兵在进行主从切换过程中经历三个阶段
  • 监控
  • 通知
  • 故障转移



阶段三:故障转移阶段

  • 服务器列表中挑选备选master
    • 在线的
    • 响应慢的
    • 与原master断开时间久的
    • 优先原则
      • 优先级
      • offset
      • runid
  • 发送指令( sentinel )
    • 向新的master发送slaveof no one
    • 向其他slave发送slaveof 新masterIP端口

主从切换总结

  • 服务器列表中挑选备选master
    • 在线的
    • 响应慢的
    • 与原master断开时间久的
    • 优先原则
      • 优先级
      • offset
      • runid

阶段三:故障转移阶段

  • 监控
    • 同步信息
  • 通知
    • 保持联通
  • 故障转移
    • 发现问题
    • 竞选负责人
    • 优选新master
    • 新master上任,其他slave切换master,原master作为slave故障回复后连接
posted @   flypiggg  阅读(145)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示