问题一:Redis集群为什么至少需要三个master节点?

因为新master的选举需要大于半数的集群master节点同意才能选举成功,如果只有两个master节点,当其中一个挂了,是达不到选举新master的条件的。

 
 

问题二:Redis集群为什么推荐节点数为奇数?

奇数个master节点可以在满足选举该条件的基础上节省一个节点,比如三个master节点和四个master节点的集群相比,大家如果都挂了一个master节点都能选举新master节点,如果都挂了两个master节点都没法选举新master节点了,所以奇数的master节点更多的是从节省机器资源角度出发说的。

例如:
在9个master的架构中,如果4台master故障,通过过半机制,redis可以选举新的master。如果5台master故障无法选举新的master
在10个master的架构中,如果4台master故障,通过过半机制,redis可以选举新的master。如果5台master故障无法选举新的master
在高可用方面,9台master与10台master一致。所以通常会使用奇数。假设现在reids内存不足需要拓展,我们将master的数量加到11台,就高可用方面来说,就算其中5台master发送故障,也可以自动选举新的master。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐