怎么处理zk或redis脑裂

很极端场景会出现脑裂

什么是分布式的脑裂

怎么处理zk或redis脑裂_第1张图片

怎么理解zk脑裂

就是ZK,与客户端可能因为网络原因,客户端A还在跑着后续程序,而zk与客户端之前的心跳断了,此zk就把这节点给删除了,这时另一个客户会加锁成功,就样其实分布式锁就失败了。

怎么处理脑裂

像zk可能要修改原代码,完善加锁的机制,比如谁加的锁,谁删的锁等。这样就很复杂。

像redis的, 比如当主从都加上锁才算加上锁,而不是主加上锁就算加上锁,如果主加上锁,数据还没同步过去,这时主挂了,从变成主节点,这时是没有这把锁的

怎么处理zk或redis脑裂_第2张图片

你可能感兴趣的:(#,zookeeper,zookeeper)