我正在评估 Redis 3 的集群功能(我目前正在独立使用 Redis 2),所以我正在阅读http://redis.io/topics/cluster-tutorial 上的信息。
在这份文件中,我读到了一个非常重要的信息:
请注意,按预期工作的最小集群需要包含至少三个主节点。对于您的第一次测试,强烈建议启动一个具有三个主节点和三个从节点的六节点集群。
真的吗?在我看来,如果我使用分片功能(数据在节点之间共享),这是正确的,但是如果我不需要它并且我很高兴只在一个节点上拥有数据怎么办?
我基本上需要一个主站和两个从站(所以如果一个节点出现故障,集群将处于活动状态),我可以在生产环境中进行这种配置吗?如果是,禁忌症是什么?
非常感谢您的帮助!
小智 6
真的吗?
不,这不是真的。这是一个强烈建议(正如您可以从“按预期工作”语言中看出的那样;如果您不希望您的数据是持久的,并且您希望它消失,等等 - 您可以设置一个单节点集群。为什么你会而不是仅仅关闭集群模式......这取决于你。)
因此,是的,您可以设置单节点集群,即使不建议这样做(出于其他答案和文档中提到的所有原因。)redis 集群代码中没有任何内容可以阻止您,除了检查 redis-trib.rb 帮助程序,以劝阻天真的用户。
为了绕过该检查,并设置一个单节点集群(如果您确定这是您想要的 - 请记住,它几乎肯定不是),您可以手动将分片分配给您的节点CLUSTER ADDSLOTS 1 2 3 ...(等,对于所有 16384 个分片)。或者使用没有 3 节点安全检查 ( redis-trib.py create 127.0.0.1:6379)的 Python 版本的 redis-trib 。
小智 5
我知道这个问题很老,但如果有人需要类似的设置,可以使用主从配置代替集群。你需要:
如果你可以让它足够聪明,你可以只写入 master 并从所有节点读取。我在一些 Wordpress 站点上使用此设置,但该插件不是用来检测主节点的,所以我只使用 HAProxy 来检测主节点并将所有流量发送到该节点。如果主节点死亡,则从节点将承担主角色(由 redis-sentinel 管理)。HAProxy 检测到 master 已更改,然后更改接收所有流量的节点。
抱歉没有发布代码和示例,但现在我不能这样做。
你好!!
| 归档时间: |
|
| 查看次数: |
27772 次 |
| 最近记录: |