我们有一个3节点的redis集群,redis和sentinel在所有3个节点上运行。其中一个节点是主节点,另外两个是副本节点。有些情况下,一个节点宕机,在这种情况下,其中一个副本节点被提升为主节点而没有任何问题。现在我们有一个用例,当两个节点宕机时,我们希望最后一个剩余的节点升级为主节点。我们不希望quorum设置为1,因为这可能会导致一些不必要的故障切换。请提出可能的解决办法。
nnsrf1az1#
假设您在3个节点中的每一个上运行sentinel和redis进程,那么您的部署只能处理单个节点的故障。这是因为在两个节点宕机后,只有一个正在运行的sentinel进程(如您所说)无法形成仲裁。如果您需要支持2个并发节点故障,您将需要增加集群的大小,并且最好将sentinel节点与redis节点分开。
1条答案
按热度按时间nnsrf1az1#
假设您在3个节点中的每一个上运行sentinel和redis进程,那么您的部署只能处理单个节点的故障。这是因为在两个节点宕机后,只有一个正在运行的sentinel进程(如您所说)无法形成仲裁。
如果您需要支持2个并发节点故障,您将需要增加集群的大小,并且最好将sentinel节点与redis节点分开。