老师您好,有个问题请解答一下,谢谢。
来源:10-1 集群伸缩目录

达闻西funnyx
2018-11-01
在节点取余或者一致性hash这种设计中,或多或少都会有数据的迁移问题,但是在Redis Cluster这种架构中,有虚拟槽的概念,那现在如果有A,B,C三个节点,槽的分配都完整了,那如果现在再加一个节点D,是否需要把一部分槽要转移到D节点中,那之前槽中的数据是否也是被迁移到了D节点上,这是否也是属于之前的数据迁移呢?还有另一个问题,就是虚拟槽的概念能否类比与ConcurrentHashMap中的segment来理解呢?
写回答
1回答
-
melanch_0001
2018-11-18
问题1:课程10-5里面有讲,加入一个节点后需要迁移槽以及数据。
问题2:segment是concurrentHashMap 1.7的东西。1.8没有segment的概念。个人感觉这个槽更类似于数组中的一个格子。也就是hashmap这种结构实现的时候,要把元素放进去,先用hashkey 求得放到数组的那个位置里面而已。所以按照你的想法这个槽相当于是segment的一部分。
00
相似问题