槽道原理

 

槽道原理解决的两个问题

槽道管理权如何判断(16384位二进制(位序列))

管理权不所属,如何从大量集群节点中获取正确管理者进行转发(16384个元素的数组(索引数组))

槽道原理

节点启动和握手

所有节点启动时,会将自己所有信息封装到一个对象中,保存在内存

创建集群redis-trib.rb creat

底层调用的redis命令,节点之间进行握手

节点之间进行握手,每个节点都保存了所有集群的对象数据

槽道结构

槽分为两个部分

16384位的二进制(2048个元素的byte数组)

表示节点初始化的状态,1:true,0:false

1:表示当前节点管理这个槽道

0:表示当前节点不管理这个槽道

16384个元素的数组(引用对象)

搭建好集群后,所有节点维护一个完全相同的内存数组

[0-16383]

每一个下标对应了槽道号管理节点对象的信息

 

posted @ 2021-03-17 11:08  minnersun  阅读(125)  评论(0编辑  收藏  举报