美文网首页程序员
zookeeper的“坑”

zookeeper的“坑”

作者: imnx | 来源:发表于2017-03-05 18:49 被阅读0次
    zookeeper常常在微服务系统中扮演核心的角色,我们在使用zookeeper时也遇到了一些容易犯的坑。比如某个时间突然发现rpc server流量没了,上去服务看了下zk连接还在,进一步发现临时节点没了...跟了下rpc server的日志看到,见截图:

    参考下代码注释:
    `
    const (
    StateUnknown State = -1
    StateDisconnected State = 0
    StateConnecting State = 1
    StateAuthFailed State = 4
    StateConnectedReadOnly State = 5
    StateSaslAuthenticated State = 6
    StateExpired State = -112

    StateConnected  = State(100)
    StateHasSession = State(101)
    

    )

    const (
    FlagEphemeral = 1
    FlagSequence = 2
    )
    `
    可以看到,client断开连接后重连,session过期后也重新创建了。但是,server创建的临时节点消失了。原来,zookeeper的临时节点、watcher等都是和session绑定的!而一旦session过期,zookeeper server就会清除和session有关的这些状态和数据。client要做的就是重建连接,重新创建临时节点,重新watch。另外watch本身也有要注意的,收到事件通知后,需要重新注册watcher。

    相关文章

      网友评论

        本文标题:zookeeper的“坑”

        本文链接:https://www.haomeiwen.com/subject/iasegttx.html