Redis 哨兵模式
由于主从复制模式存在着这些问题:主从复制存在的问题,我们需要一个新的方案来进行优化,这就是 Redis Sentinel(哨兵)。
undefined/notes/_Attachments/Redis%20Sentinel.excalidrawRedis Sentinel 由两部分组成,哨兵节点和数据节点:
- 哨兵节点:特殊的 Redis 节点,不存储数据,只对数据节点进行监控
- 数据节点:主从复制中的主节点和从节点
在复制的基础上,哨兵实现了自动化故障恢复的功能:
- 监控(Monitoring):哨兵会不断地检查主节点和从节点是否运行正常
- 自动故障转移(Automatic failover):当主节点不能正常工作时,哨兵会将失效主节点的一个从节点晋升为新的主节点,并让其它从节点改为复制新的主节点
- 配置提供者(Configuration provider):客户端在初始化时,通过连接哨兵获取当前 Redis 服务的主从节点地址
- 通知(Notification):哨兵可以将故障转移的结果发送给客户端
在完成自动故障恢复后,客户端可以通过哨兵的 API 获取最新的主从节点的地址,并完成重连。