• redis哨兵模式(Redis Sentinel)


    哨兵模式的背景

    当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式。
    为了解决单点故障和提高系统的可用性,需要一种自动化的监控和故障转移机制。这种机制能够实时监测Redis实例的状态,并在主节点故障时自动将一个从节点提升为新的主节点,以保证服务的连续性和稳定性,这就是哨兵模式

    哨兵模式的实现

    在这里插入图片描述

    1.部署哨兵节点:
    部署多个Redis哨兵节点,一般至少需要3个哨兵节点来确保系统的可靠性和故障转移的可行性。哨兵节点可以和Redis实例部署在同一台服务器或者独立的服务器上。
    2.配置哨兵节点:
    在每个哨兵节点上编辑配置文件 sentinel.conf,配置包括监控的Redis实例信息、监控频率、故障检测的超时时间、故障转移的策略等。
    例如,以下是一个简单的哨兵配置示例:

    port 26379
    sentinel monitor mymaster 127.0.0.1 6379 2
    sentinel down-after-milliseconds mymaster 5000
    sentinel failover-timeout mymaster 10000
    sentinel parallel-syncs mymaster 1
    

    port: 哨兵节点的监听端口。
    sentinel monitor mymaster : 配置哨兵监控的主节点信息, 是哨兵节点判断主节点是否下线的最小哨兵数量。
    其他参数如 down-after-milliseconds、failover-timeout 和 parallel-syncs 用于配置故障检测、故障转移的时间和策略。
    3.启动哨兵节点:
    启动每个哨兵节点,可以使用以下命令:

    redis-sentinel /path/to/sentinel.conf
    

    或者通过启动脚本启动哨兵进程。
    4.监控和管理:
    一旦哨兵节点启动,它们会自动开始监控配置中指定的Redis实例(主节点和从节点)。
    哨兵节点会定期发送命令检查Redis实例的健康状态,当发现主节点不可用时,会自动执行故障转移操作。
    5.验证和测试:
    可以通过查看哨兵节点的日志文件、使用 redis-cli 连接到哨兵节点获取信息,以及模拟主节点故障来验证哨兵模式的工作是否正常。
    6.注意事项
    确保每个Redis实例都有唯一的名字(如 mymaster),用于在哨兵配置中标识。
    哨兵节点之间要保持通信的连通性,确保可以互相发现和协作。
    根据具体的业务需求和环境,调整哨兵的配置参数,以达到最佳的故障转移效果和系统稳定性。

  • 相关阅读:
    手把手教你搭建SpringCloud项目
    互联网商业模式之全民拼购
    GIS、GPS、RS综合应用
    【nodejs案例】记账本功能 -- 如何配置API(三)
    三农数据(1990-2020)七:农村居民家庭生产现金支出、农村固定资产构成、固定资产投向
    克服网络安全压力:如何掌控无限的云数据
    一文带你了解如何使用spring拦截器获取请求体和响应体的内容
    kafka(四)消息类型
    【工具使用-VScode】VScode如何设置空格和tab键显示
    【老生谈算法】基于MATLAB的高通滤波器的优化设计——滤波器
  • 原文地址:https://blog.csdn.net/liulanba/article/details/115618158