Redis集群:最less3个主节点?

我正在评估Redis 3的集群function(目前我正在使用Redis 2独立版),所以我正在阅读http://redis.io/topics/cluster-tutorial上的信息。

在这个文件中,我读了一个非常重要的信息:

请注意,按预期工作的最小群集需要包含至less三个主节点。 对于第一次testing,强烈build议使用三个主站和三个从站来启动六个节点群集。

这是真的吗? 在我看来,如果我使用分片function(数据在节点之间共享),这是正确的,但如果我不需要它,我会很高兴只有一个节点上的数据?

我基本上需要一个主站和两个从站(因此,如果一个节点出现故障,集群将处于活动状态),我可以在生产环境中使用此configuration吗? 如果是,禁忌症是什么?

非常感谢您的帮助!

这是真的吗?

是的,这就是为什么它在文档:)

在我看来,如果我使用分片function(数据在节点之间共享),这是正确的,但如果我不需要它,我会很高兴只有一个节点上的数据?

在集群模式下使用Redis意味着分片。 如果您对单个实例感到满意,则不要使用群集。 否则,请参阅集群规范本身以了解更多关于基本假设的内容。 具体来说,在最小集群configuration的情况下,您需要3位主服务器确保集群在分区情况下的可用性,否则您将无法就多数达成一致。

这是真的吗?

不,这不是真的 。 这是一个强有力的build议(正如您可以从“按预期工作”的语言中看到的那样;如果您不希望数据持久,并且您希望数据消失等等),则可以设置单个节点群集。为什么你不会只closures集群模式…这取决于你。)

所以,是的,你可以设置一个单节点集群,即使它不被build议(因为在其他答案和文档中提到的所有原因)。除了redis集群代码,什么都不会阻止你,除了在那里redis-trib.rb助手的检查,以劝阻幼稚的用户。

为了避免这种检查,并build立一个单一的节点集群(如果你确定这是你想要的 – 记住,它几乎肯定不是),你可以手动分配到您的节点与碎片CLUSTER ADDSLOTS 1 2 3 ... (等,所有的16384碎片)。 或者使用没有3节点安全检查的redis-trib的Python版本( redis-trib.py create 127.0.0.1:6379 )。