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
: 当前Sentinel配置纪元,用于协调多个Sentinel实例之间的配置变更。
工作机制:
- Sentinel实例通过定期向主节点和从节点发送PING命令来监控其状态。
- 当主节点不可达时,Sentinel会根据配置的quorum参数和
down-after-milliseconds
参数判断主节点是否宕机。 - 若主节点被判定为宕机,Sentinel会从可用的从节点中选举出一个新的主节点,并将其他从节点重新配置为新主节点的从节点。
- Sentinel会将新的主节点信息更新到客户端,保证客户端能够连接到新的主节点。
注意:
config-epoch
的值由Sentinel自动管理,无需手动修改。- 以上配置仅为示例,实际应用中需要根据具体环境进行调整。
暂无评论