zxg588 发表于 2017-4-18 13:24:19

ZooKeeper异常处理

  在这里谈谈使用zookeeper的过程中需要注意的两个状态及相关异常处理。
  1 CONNECTION_LOSS (异常ConnectionLossException)
       其意思是客户端和服务器端连接断开了,CONNECTION_LOSS 并不意味着请求会失败,但是注意也不会保证能成功。当客户端从服务器断开时,会尝试连接其它服务器,如果在超时前能有一台服务器能连接成功,则请求执行。否则超时错误。在获得ConnectionLossException异常时,可以采用重试方式来处理,但是当重试到超时时就得重建一个连接了。
      
  2 SESSION_EXPIRED 
     超时,唯一你要做的是新建一个连接。 session 过期是服务器管理的,而不是客户端。
  最后附上zookeeper连接状态图
https://cwiki.apache.org/confluence/download/attachments/24193420/state_dia.png?version=1&modificationDate=1296767144000
页: [1]
查看完整版本: ZooKeeper异常处理