3节点Redis集群中的两个故障支持

Two Failure Support in 3 node Redis Cluster

我们有一个 3 节点的 redis 集群,所有三个节点上都有 redis 和 sentinel 运行。 其中一个节点是主节点,另外两个节点是副本。

在某些情况下,一个节点出现故障,在这种情况下,其中一个副本节点会毫无问题地提升为主节点。

现在我们有一个用例,当两个节点出现故障时,我们希望将剩下的最后一个节点提升为主节点。我们不希望 quorum 设置为 1,因为这可能会导致一些不必要的故障转移。请提出可能的解决方案。

假设您 运行 在 3 个节点中的每一个节点上同时处理 Sentinel 和 Redis,您的部署只能处理单个节点的故障。 这是因为两个节点宕机后,只有一个 运行ning Sentinel 进程(如您所说)无法形成法定人数。

如果您需要支持 2 个并发节点故障,您将需要增加集群的大小,并且最好将 Sentinel 节点与 Redis 节点分开。