Nuclear是一个分布式的Key-Value存储系统,那么key对应的数据分布在什么节点上,需要遵守一定的规则。熟悉MemecachedClient的同学一定清楚一致性Hash的应用,没错,HashRing就是我们的不二选择。在Nuclear中,数据分布在0~2的HashRing上,Nuclear集群初始化的时候,根据节点数均分整个Hash Ring。

在N=3时,A,B,C三个节点的配置就是系统需要的最少节点了。Nuclear中,顺时针的开始值和结束值确定一个分区管理的数据范围,同时规定分区的范围左开右闭。因此,如上图,我们记录A,B,C分别管理的分区范围是:

A {[c,a],[b, c],[a,b]}

B {[a,b],[c,a],[b,c]}

C {[b,c],[a,b],[c,a]}

可以看出,A处理管理自己的分区数据外,还会把自己管理的数据顺时针往前复制到2(N-1)个节点中。

Nuclear增加节点时需要制定目标节点的名称,即增加的节点是用来分担目标节点的负载的。这点不同于Dynamo的分区策略,节点增加的时候会均衡的从现有的节点窃取分区,Nuclear中增加的节点只会影响到邻近的三个节点。

记录N,A,B,C管理的分区如下:

N {[c,n],[b,c],[a,b]}

A {[n,a],[c,n],[b,c]}

B {[a,b],[n,a],[c,n]}

C {[b,c],[a,b],[n,a]}

Nuclear的分区管理模块将自动的计算出需要同步到N上的数据:

A [a,b] => N

B [b,c] => N

C [c,n] => N

不难明白,其实就是把A,B,C不再需要的数据挪给新的节点了。删、替换节点原理大同小异,不再冗述。

Nuclear提供服务器端路由策略,Client的请求随机落在Node节点上,由接收到请求的节点处理后续的逻辑。相对于Client端路由来说,优点是Client无需知道Nuclear集群元数据,易于维护;缺点是会造成一定程度的延时,不过我们的测试结果显示延时在可接受范围之内。

刚刚查询:Nuclear 楚天声屏报·恩施周刊 超短裙 gl动漫 ƿϵ» 代代相传 音量检测仪 欧后辉 使用者 惯性力 鸡腿肉 张紫研 笋子烧牛鞭 cresols 土著人 埃尔顿 加拉鳄 圣地牙哥教士 工程系 巧克力 Klapper 松花蛋 严重事故 elasmobranchii 宁津县 朗格多克 名声大噪 糠虾幼体 我们的土地 二手车 没有阻碍 辣文 香辣腐乳鸡丁 赤子之心 曲水流觞 居住区 天昏地黑 肖剑 动物总动员开心大礼盒 平假名 岩泊渡镇 无极混圆道 界市镇 huxleyi 阳高县 wisdom. promote 自给自足 Haploid 采集者 铁栅栏 英格兰人 普及教育 演化史 歌舞妓 金针蛇丝 小品文 agreement 克里沃伊罗格 宫爆牛筋 穿梭机 四个人 天狐娱乐录音棚 树立党的唯一思想体系十大原则 马尔他 另一次 渔政管理 reichenbach 中共玛曲县委统战部 originals 谈骨气 盐东镇 正定县 参议院 演奏者 民族资本 新武侠系列:血掌禅印 英雄模范 鲁布革水电站 蜂巢蒸糕
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2026 haodianxin 百科 消耗时间:0.051秒 内存0.8MB