gulaimin6456
如梦yi如烟
采纳率0%
2019-02-26 23:02 阅读 390

ZOOKEEPER分布式集群,断掉LEADER网络后出现问题

公司在用zk管理分布式集群,现在出现了一个问题,问题描述如下。

假设zk作为server端,存在三个节点,zk1(leader),zk2(follower),zk3(follower)。
然后公司的client端,也存在三个节点,C1,C2,C3。分别与ZK的节点相对应。

现存在如下问题,当断掉ZK1的网络时,C1的client无服务,这是正常现象。

此时ZK由于leader被down,重新选取leader,如果ZK2成为leader,那么c2,c3此时会向zk2读取节点数据。

但是zk2,zk3,此时正在进行同步,似乎是无法提供服务的状态,就会导致c2或者c3自杀。

现在请问各位大佬,有没有办法解决这种问题,比如zk在同步时可以感知zk对外提供服务的状态,当zk可以对外服务时再进行获取节点数据。

由于zk都是java代码,而我们用的是c++/c,所以只接触了部分的zk的相关API。还请各位大佬帮忙

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • qq_43251133 澐氫 2019-02-27 09:15

    (⊙﹏⊙)我能想到的只有:重试 了

    点赞 评论 复制链接分享

相关推荐