【十九】redis之Cluster数据分布概述

redis cluste在3.0中有了。

数据分布

1.顺序分布

对比

分布方式 特点 典型产品
哈希分布

数据分散度高

键值分布业务无关

无法顺序访问

支持批量操作

一致性哈希Memcache

Redis Cluster

其他缓存

顺序分布

数据分散度易倾斜

键值业务相关

可顺序访问

不支持批量操作

BigTable

HBase

2.哈希分布

    1.对节点数取余,是在客户端分片优点简单。缺点:扩容影响太大!添加节点的时候整个数据会做很多偏移。3个节点扩容添加1个节点,会发生80%的数据迁移。

     如果用这个中方式做数据分布,扩容的时候建议使用多倍扩容。比如3个节点,扩容的时候,再添加3个节点,这样只会发生50%的数据迁移。

     不建议使用这种古老的数据分布方式。

    2.一致性hash

        原理,数据做成token环,为每一个节点分配一个token,key做了hash后会落在两个node2之间,顺时针找离它最近的节点。是在客户端分片节点比较多的时候建议使用这种方式。节点伸缩的时候只影响临近的节点,还是要使用多倍扩容,不然会数据倾斜。

    3.虚拟槽分区

        这就是redis cluster使用的数据分布方式。

        预设虚拟槽:每个槽映射一个数据子集,一般比节点数大。

        由服务端管理节点、槽、数据的关系。

        

猜你喜欢

转载自blog.csdn.net/jy02268879/article/details/81488076