Redis主从与哨兵模式配置解析

梦悔清 7 0 zip 2024-07-02 10:07:33

Redis主从与哨兵模式配置解析

本配置示例展示了Redis Sentinel如何监控主节点mymaster(127.0.0.1:6380)及其从节点,并在主节点故障时进行故障转移。

配置文件说明:

  • port 26378: 当前Sentinel服务运行的端口。
  • sentinel myid 09a71e001825114de399e0b6214c4b6f5449ab3a: 当前Sentinel实例的唯一ID。
  • sentinel deny-scripts-reconfig yes: 禁止使用脚本进行重新配置,增强安全性。
  • sentinel monitor mymaster 127.0.0.1 6380 2: Sentinel监控名为mymaster的主节点,地址为127.0.0.1:6380, quorum参数设置为2,表示至少需要2个Sentinel实例同意才能执行故障转移。
  • sentinel down-after-milliseconds mymaster 3000: 若mymaster在3秒内没有响应,则Sentinel将其标记为down状态。
  • sentinel failover-timeout mymaster 10000: 故障转移超时时间设置为10秒,若超过此时间未能完成故障转移,则放弃此次故障转移操作。
  • sentinel auth-pass mymaster lyyc123456: 访问mymaster所需的密码。
  • sentinel config-epoch <;epoch>;: 当前Sentinel配置纪元,用于协调多个Sentinel实例之间的配置变更。

工作机制:

  1. Sentinel实例通过定期向主节点和从节点发送PING命令来监控其状态。
  2. 当主节点不可达时,Sentinel会根据配置的quorum参数和down-after-milliseconds参数判断主节点是否宕机。
  3. 若主节点被判定为宕机,Sentinel会从可用的从节点中选举出一个新的主节点,并将其他从节点重新配置为新主节点的从节点。
  4. Sentinel会将新的主节点信息更新到客户端,保证客户端能够连接到新的主节点。

注意:

  • config-epoch的值由Sentinel自动管理,无需手动修改。
  • 以上配置仅为示例,实际应用中需要根据具体环境进行调整。

用户评论
请输入评论内容
评分:
暂无评论