redis集群中那么多Master节点,redis cluster在存储的时候如何确定选择哪个节点呢?

提问者:帅平 问题分类:面试刷题

redis集群中那么多Master节点,redis cluster在存储的时候如何确定选择哪个节点呢?

1 个回答
Rae
Rae 管理员

Redis Cluster采用的是类一致性哈希算法实现节点选择的,至于什么是一致性哈希算法你自己回去看看。

Redis Cluster将自己分成了16384个Slot(槽位),哈希槽类似于数据分区,每个键值对都会根据它的 key,被映射到一个哈希槽中,具体执行过程分为两大步。

1、根据键值对的 key,按照 CRC16 算法计算一个 16 bit 的值。
2、再用 16bit 值对 16384 取模,得到 0~16383 范围内的模数,每个模数代表一个相应编号的哈希槽。

每个Redis节点负责处理一部分槽位,加入你有三个master节点 ABC,每个节点负责的槽位如下:

这样就实现了cluster节点的选择。

发布于:1个月前 (10-19)
我来回答