集群中的脑裂简述

集群中的脑裂简述,第1张

在HA集群系统中,假设有同一个整体、动作协调的节点A 和节点B,节点A和B之间通过heartBeat来检查对方的存活状态,负责协调保证整个集群服务的可用性。正常情况下,如果节点A通过心跳检测不到B的存在的时候,就会接管B的资源,同理节点B检查不到B的存活状态的时候也会接管A的资源。如果出现网络故障,就会导致A和B同时检查不到对方的存活状态认为对方出现异常,这个时候就会导致A接管B的资源,B也会接管A的资源。原来被一个节点访问的资源就会出现被多个节点同时访问的情况,这种情况就是脑裂现象。

脑裂问题:一个小集群内部主从因网络问题无法同步数据导致了重新选举,而后网络恢复导致该小集群出现2个主节点的问题

redis集群没有过半机制会有脑裂问题, 网络分区导致脑裂后多个主节点对外提供写服务, 一旦网络分区恢复, 会将其中一个主节点变为从节点, 这时会有大量数据丢失.

2.应对方法

min-slaves-to-write 1 # 在redis配置里加上参数(不可能百分百避免数据丢失,参考集群leader选举机制)

写数据成功最少同步的slave数量,这个数量可以模仿大于半数机制配置, 比如集群3个点,可配1,加上leader就是2,超过了半数


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/537885.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-25
下一篇2023-06-25

发表评论

登录后才能评论

评论列表(0条)

    保存