gpt4 book ai didi

java - 当 session 过期时,Apache Curator 如何尝试重新连接?

转载 作者:行者123 更新时间:2023-11-30 02:40:35 30 4
gpt4 key购买 nike

我正在阅读 Apache Curator 的文档,但我无法确切理解 session 过期时它尝试应用的策略是什么。

它会立即将连接设置为“丢失”,还是会重试重新连接并重新建立所有观察者,并且只有在尝试 N 次失败后才会将连接设置为“丢失”?

如果它尝试重新建立,它会正确重置临时节点和监视吗?

最佳答案

首先,在 ZooKeeper 中, session 过期(从客户端的角度来看)只有在您重新建立与健康整体的连接后才会发生。即,在重新连接之前,您不知道 session 已结束。

Apache Curator(注:我是主要作者)引入了“连接状态”的概念,它是 ZooKeeper 内部状态概念之上的抽象。重要的是,Curator 的连接状态处理与 3.x 之前的版本以及 3.x 及更高版本相比发生了变化。

在 3.x 之前,Curator 的连接状态与 ZooKeeper session 没有关系。连接状态 LOST 仅意味着配置的 RetryPolicy 已放弃。在 Curator 3.x 及更高版本中,当与整体的连接丢失时,Curator 会设置一个内部计时器,如果该计时器在重新连接到 ZooKeeper 整体之前通过了协商的 session 超时,则 Curator 会更改为 LOST 并“伪造” session 超时内部管理的 ZooKeeper 句柄。

此处对此进行了描述:http://curator.apache.org/errors.html

关于java - 当 session 过期时,Apache Curator 如何尝试重新连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862575/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com