gpt4 book ai didi

apache-zookeeper - Zookeeper - 如果我只传入 zk 集群(整体)中的一些节点的连接字符串会发生什么?

转载 作者:行者123 更新时间:2023-12-04 18:59:24 28 4
gpt4 key购买 nike

我有一个由 N 个节点组成的 zookeeper 集群(彼此了解)。如果我在 zk 客户端连接字符串中只传递 M < N 个节点地址怎么办?集群的行为是什么?

在更具体的情况下,如果我只从集群中传递 1 个 zk 的主机地址怎么办?那么 zk 客户端是否可以从集群连接到其他主机?如果这台主机宕机了怎么办?客户端能否连接到集合中的其他动物园管理员节点?

另一个问题是,是否可以限制客户端仅使用集成中的特定节点?

最佳答案

What if I pass only M < N of the nodes' addresses in zk client connection string? What will be the cluster's behavior?



ZooKeeper 客户端将仅连接到连接字符串中指定的 M 个节点。 ZooKeeper ensemble 的后端交互(leader 选举和处理写事务提议)将继续由集群中的所有 N 个节点处理。 N 个节点中的任何一个仍然可以成为集成领导者。如果 ZooKeeper 服务器收到写入事务请求,并且该服务器不是当前领导者,则它将请求转发给当前领导者。

In a more specific case, what if I pass host address of only 1 zk from the cluster? Is it possible then for the zk client to connect to other hosts from the cluster? What if this one host is down? Will be client able to connect to other zookeeper nodes in an ensemble?



不可以,客户端只能连接到连接字符串中指定的单个地址。该地址实际上成为应用程序的单点故障,因为如果服务器出现故障,客户端将没有任何其他选项来建立连接。

The other question is, is it possible to limit client to use only specific nodes from the ensemble?



是的,您可以通过仅列出客户端连接字符串中的节点来限制客户端考虑建立连接的节点。但是,请记住,集群中的 N 个节点中的任何一个仍然可以成为领导者,然后所有客户端写入请求都将转发到该领导者。从这个意义上说,客户端间接使用其他节点,但客户端没有建立到这些节点的直接套接字连接。

ZooKeeper Overview Apache 文档中的页面进一步讨论了 ZooKeeper 集群中的客户端和服务器行为。例如, 中就有相关引用。实现 部分:

As part of the agreement protocol all write requests from clients are forwarded to a single server, called the leader. The rest of the ZooKeeper servers, called followers, receive message proposals from the leader and agree upon message delivery. The messaging layer takes care of replacing leaders on failures and syncing followers with leaders.

关于apache-zookeeper - Zookeeper - 如果我只传入 zk 集群(整体)中的一些节点的连接字符串会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41682402/

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