Redis集群中,是选择奇数节点还是偶数节点?(理论)

我们来通过一组组示例进行分析:

 

    3节点环境:1个master、2个slave

        存储空间:最大等于1个节点的容量。(如果是2个master的话,那么数据会丢失一部分)

        冗余性:允许1个节点故障。

        

    4节点环境:2个master、2个slave

        存储空间:2个节点的容量。

        冗余性:允许1个节点故障。(集群中,半数以上节点认为故障,才会选举。)

    

    5节点环境:2个master、3个slave

        存储空间:2个节点的容量。

        冗余性:允许2个节点故障。

        

    6节点环境:3个master、3个slave

        存储空间:3个节点的容量。

        冗余性:允许2个节点故障。

        

    依次类推... ...

    

    3节点和4节点对比:

        容量:后者多了1个节点的存储空间。

        冗余:都是允许1个节点故障。

        

    4节点和5节点对比:

        容量:都是2个节点的容量。

        冗余:后者多了1个节点的冗余。

            

    通过对比发现: redis集群选择奇数节点还是偶数,还是要看业务的需求。

    

    举个例子:业务的数据总量2个节点就可以满足,那么就看业务对冗余性的要求,

                    如果有1个冗余就OK,那么就考虑4个节点的集群。

                    如果要更高的冗余,那么就考虑5个节点的集群。

                       

    不过话又说回来了,企业既然选择了redis集群,公司也不差这一个节点的钱,

    一般做法是偶数节点的redis集群。

posted @ 2020-08-05 15:45  CharyGao  阅读(1377)  评论(0编辑  收藏  举报