首页 文章

群集故障转移

提问于
浏览
2

我知道我正在问一些关于集群故障转移的非常明显的事情 .

我在redis.io上读到,如果任何主集群节点发生故障,它将影响到其他主节点,直到奴隶来负责 . 在我的结构中,我没有定义任何奴隶,只是与3个主人合作 .

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

1)重新分析

在服务器出现故障之前无法实现

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

根据位理解,redis-trib.rb不允许我为两个节点创建集群代码文件中可能有一些解决方案:)

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

作为程序员的观点,我正在为我的系统自动搜索 . 当Redis Cluster失败某些任务时,会触发一个命令 . 比如关闭所有其他redis集群服务器从所有集群节点文件夹中删除nodes- [port] .conf文件启动redis集群服务器运行“redis-trib.rb create ip:port ip:port”

我只是想尽量减少管理工作:) . Otherwise I need to implement some other algorithm "Data Consistency" here.

如果你们中的任何人有任何解决方案或想法,请分享 .

谢谢,Sanjay Mohnani

1 回答

  • 1

    在仅包含主节点的群集中,如果节点发生故障,则数据将丢失 . 因此,不可能进行重新分片,因为无法将数据(散列槽)迁移出故障节点 .

    要在主服务器出现故障时保持群集正常工作,您需要从属节点(每个主节点一个) . 这样,当主设备发生故障时,其从设备进行故障转移(成为具有相同数据副本的新主设备) .

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

    因此,添加从属节点可视为您问题的自动解决方案 .

相关问题