当前位置: 首页 > news >正文

【Redis】哨兵模式

目录

  • 1、背景
  • 2、核心功能
  • 3、架构组成
  • 4、工作流程
    • 【1】监控阶段
    • 【2】故障判定
    • 【3】选举领导者哨兵
    • 【4】故障转移
  • 5、关键配置参数
  • 6、客户端交互
  • 7、优缺点
  • 8、部署建议

1、背景

Redis哨兵模式(Sentinel)是Redis官方提供的高可用性(HA)解决方案,用于监控和管理Redis主从架构,实现自动故障检测、主从切换和配置更新。

2、核心功能

1、监控:持续检测主节点(master)和从节点(replica)的运行状态
2、自动故障转移:当主节点不可用时,哨兵会选举一个从节点晋升为新主节点
3、配置推送:故障切换后,自动更新客户端和其它redis节点的配置
4、通知:通过API或脚本通知管理员故障事件

3、架构组成

1、哨兵节点:独立运行的进程,不存储数据,仅负责监控和决策
2、Redis主从集群:至少包含1个主节点和若干个从节点(建议至少2个从节点)
3、仲裁机制:通常部署3个或以上哨兵节点(避免单节点故障,基于多数投票决策)

4、工作流程

【1】监控阶段

1、哨兵每秒向主从节点发送PING命令,检测是否存活
2、若节点未响应超过配置的超时时间(down-after-milliseconds),标记未主观下线(SDOWN)

【2】故障判定

1、当多个哨兵均认为主节点主观下线,则标记为客观下线(ODOWN)

【3】选举领导者哨兵

1、使用Raft算法选角一个哨兵领导者(Leader)来执行故障转移

【4】故障转移

1、领导者哨兵选择一个数据最新的从节点,执行SLAVEOF NO ONE将其升级为主节点
2、通知其它从节点复制新主节点
3、更新客户端配置(通过发布/订阅机制或直接修改配置)

5、关键配置参数

# sentinel.conf 示例
sentinel monitor mymaster 127.0.0.1 6379 2  # 监控名为mymaster的主节点,2表示需至少2个哨兵同意
sentinel down-after-milliseconds mymaster 5000  # 5秒无响应视为下线
sentinel failover-timeout mymaster 60000  # 故障转移超时时间(毫秒)

6、客户端交互

1、客户端通过哨兵获取当前主节点地址(SENTINEL get-master-addr-by-name master-name)
2、建议使用支持哨兵的客户端库,自动处理主从切换

7、优缺点

优点:

1、自动容灾,减少人工干预
2、配置简单,与原生redis兼容

缺点:

1、故障转移期间可能出现短暂数据丢失(异步复制导致)
2、不解决水平扩展问题(需结合cluster模式)

8、部署建议

1、至少部署3个哨兵节点(分散在不同物理机)
2、监控哨兵进程本身(避免哨兵单节点故障)
3、测试故障转移场景,验证超时参数合理性

相关文章:

  • 【C语言】统计孪生素数对高效解法
  • vsCode使用本地低版本node启动配置文件
  • 1panel面板中部署SpringBoot和Vue前后端分离系统 【图文教程】
  • 解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
  • 氛围编程时代来临:本地化智能分析破解老项目 AI 编程困局
  • 【Go语言基础【6】】字符串格式化说明
  • 保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
  • MySQL体系架构解析(二):MySQL目录与启动配置全解析
  • 命令行以TLS/SSL显式加密方式访问FTP服务器
  • for AC500 PLCs 3ADR025003M9903的安全说明
  • 【Algo】常见组合类数列
  • dify官方离线安装打包插件脚本,改造成ubuntu或者debain系统可用
  • 使用vtk8.2.0加载dicom图像
  • 离散傅里叶级数(DFS)的用途
  • 深入了解JavaScript当中如何确定值的类型
  • 几何引擎对比:OpenCasCade、ACIS、Parasolid和CGM
  • 讲解:Java I/O 流体系,并举例每个类的使用
  • 一站式万能邮箱:如何实现多平台邮件管理?
  • 使用绑定参数以防止SQL注入攻击
  • SpringBoot自动配置原理深度解析
  • 如何做局域网网站/国外网站推广
  • 天津做网站的公司有哪家/东莞网络营销推广公司
  • 广州市手机网站建设/益阳网站seo
  • 网上商城代码/seo优化的价格
  • 西安网站托管维护/百度搜索关键词技巧
  • 潍坊市网站建设/长沙网站排名推广