将插槽分配给节点方法

时间:2018-07-30 09:39:55

标签: redis redis-cli

我正在尝试修改使用Redis-trib的脚本。由于种种原因,我现在无法使用它,但是我可以使用redis-CLI。

要点是,在为节点分配插槽时,它是以块方式还是以某种方式完成?也就是说,如果有3个节点,我将16384个插槽分配到3个节点中,并将其余的分配给最后一个。否则我必须经历另一个过程。

非常感谢您。


编辑:

我之所以问是因为我正在查看一些非官方的文档(在未使用redis-trib的官方文档中我没有看到有关它的任何内容),该文档显示以下内容:

for slot in {0..5461}; do redis-cli -p 7000 CLUSTER ADDSLOTS $slot > /dev/null; done;
for slot in {5462..10923}; do redis-cli -p 7001 CLUSTER ADDSLOTS $slot > /dev/null;; done;
for slot in {10924..16383}; do redis-cli -p 7002 CLUSTER ADDSLOTS $slot > /dev/null;; done;

我不知道这种分布所基于的标准。

1 个答案:

答案 0 :(得分:0)

最后,我执行的任务是分配16384个插槽,并除以节点数。对于其余未分配的插槽,我将计算模块并尽可能在节点之间平均分配它们。

无论如何,我都尝试使每个节点的插槽数相同或非常相似,并且无论如何它们都是连续的插槽。