gpt4 book ai didi

redis - 集群故障转移

转载 作者:IT王子 更新时间:2023-10-29 06:06:50 24 4
gpt4 key购买 nike

我知道我在问一些关于集群故障转移的非常明显的问题。

我在 redis.io 上读到,如果任何主集群节点发生故障,它将影响其他主节点,直到从属节点接管为止。在我的结构中,我没有定义任何奴隶,只与 3 个主人一起工作。

我正在考虑修改 redis-trib.rb 文件,这将删除有缺陷的服务器并启动包含其他 2 个节点的集群。我对一些事情感到困惑,

1) 重新分片

Could not possible until failed server goes live

2) 创建集群的最少 3 个节点限制

As per bit understanding, redis-trib.rb not allowing me to create cluster for two nodes There might be some solution in code file :)

3) 使用事件节点重新创建新结构的自动方式

As programmer point of view, I'm searching something automatic for my system. Something that trigger one command when Redis Cluster fails some tasks happens internally. like

  • Shutdown all other redis cluster servers
  • Remove nodes-[port].conf files from all cluster nodes folder
  • Start redis cluster servers
  • Run "redis-trib.rb create ip:port ip:port"

我只是想尽量减少管理工作 :)。 否则我需要在这里实现一些其他算法“数据一致性”。

如果你们有任何解决方案或想法,请分享。

谢谢,桑杰·莫纳尼

最佳答案

在只有主节点的集群中,如果一个节点发生故障,数据就会丢失。因此无法重新分片,因为无法将数据(哈希槽)迁移出故障节点。

为了在主节点发生故障时保持集群正常工作,您需要从节点(每个主节点一个)。这样,当一个 master 发生故障时,它的 slave 会进行故障转移(成为具有相同数据副本的新 master)。

redis-trib.rb 脚本不处理少于 3 个主节点的集群创建,但是在 redis-cluster 中,集群可以是任何大小(至少一个节点)。

因此,添加从节点可以认为是您问题的自动解决方案。

关于redis - 集群故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23343449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com