redis之哨兵机制

redis之哨兵机制

💡 原文中文,约1300字,阅读约需3分钟。
📝

内容提要

Redis 哨兵机制通过监控主库状态,确保高可用性。当主库宕机时,哨兵会选举新的主库并通知从库和客户端,以保持服务持续运行。

🎯

关键要点

  • Redis 哨兵机制通过监控主库状态确保高可用性。

  • 当主库宕机时,哨兵会选举新的主库并通知从库和客户端。

  • 哨兵通过 PING 命令监控主从库的网络连接。

  • 只有多数哨兵认为主库下线,才会进行主从切换。

  • 新主库的选择基于从库的状态、网络状态和优先级等条件。

  • 哨兵通过 pub/sub 机制与其他哨兵互相发现和通信。

  • 哨兵需要与从库和客户端建立连接以进行监控和通知。

  • 主从切换由投票机制决定,任何哨兵都可以参与选举成为 leader。

🔎

延伸解读

哨兵机制的高可用性保障

Redis 的哨兵机制通过监控主库状态,确保系统的高可用性。哨兵通过 PING 命令检测主从库的连接,只有在多数哨兵确认主库下线后,才会进行主从切换。这种设计降低了误判的风险,确保了服务的稳定性。

新主库的选择标准

在主库宕机后,哨兵会根据从库的状态、网络状况和优先级等条件来选择新的主库。用户可以通过配置从库的 slave-priority 来影响选择结果,这为系统的灵活性和适应性提供了保障。

哨兵与客户端的通信

哨兵不仅需要与主从库建立连接,还需及时通知客户端主从切换的信息。客户端可以通过订阅哨兵的消息获取主库状态变化,这样可以确保在主库宕机后,客户端的写操作能够迅速切换到新的主库,减少服务中断的时间。

延伸问答

Redis 哨兵机制的主要功能是什么?

Redis 哨兵机制通过监控主库状态,确保高可用性,并在主库宕机时选举新的主库。

哨兵如何判断主库是否宕机?

哨兵通过发送 PING 命令监控主从库的网络连接,若超时则判断为主观下线,只有多数哨兵认为主库下线时才标记为客观下线。

新主库是如何选择的?

新主库的选择基于从库的状态、网络状态和优先级等条件,通过打分规则选出得分最高的从库作为新主库。

哨兵如何与客户端进行通信?

哨兵与客户端建立连接,及时通知主库下线的消息,客户端可以订阅哨兵消息以获取主从切换事件。

哨兵集群是如何组建的?

哨兵实例通过 Redis 提供的 pub/sub 机制互相发现和通信,发布自己的 IP 和端口信息以建立网络连接。

主从切换的投票机制是怎样的?

任何一个哨兵判断主库主观下线后,会向其他哨兵发送命令,其他哨兵投票,若多数赞成则主库被认为客观下线,随后进行 leader 选举。

🏷️

标签

➡️

继续阅读