重点回顾

  • 使用正常服务器替换下线服务器以维持系统正常运转的操作,一般被称为故障转移。

  • 为了给 Redis 服务器提供自动化的故障转移功能,从而提高主从服务器的可用性,Redis 为用户提供了 Redis Sentinel 这一工具。Redis Sentinel 可以通过心跳检测的方式监视多个主服务器以及它们属下的所有从服务器,并在某个主服务器下线时自动对其实施故障转移。

  • 为了避免单点故障,并让 Sentinel 能够给出真实有效的判断结果,我们可以使用多个 Sentinel 组建一个分布式 Sentinel 网络,网络中的各个 Sentinel 可以通过互通消息来更加准确地判断服务器的状态。

  • 因为 Sentinel 网络使用客观下线机制来判断一个主服务器是否真的已经下线了,所以为了让这种机制能够有效地运作,用户需要将 quorum 参数的值设置为 Sentinel 数量的半数以上,从而形成一种少数服从多数的投票机制。

  • 在实际应用中,用户应该将 Sentinel 和被监视的 Redis 服务器放到不同的机器上运行,并且各个 Sentinel 也应该放到不同的机器上运行,这样 Sentinel 网络才能够更准确、有效地判断出服务器的实际状态。