2

我们可以使用 zookeeper 来实现一致性哈希吗?我想用 zookeeper 维护我的服务器哈希,以便可以监控它们的健康状况以及使用 zookeeper 将给定密钥映射到特定服务器的逻辑。但是既然 Zookeeper 需要一个领导者(正如我所读的),那么在我的情况下谁可以成为领导者?是否可以只为健康监测而设置无领导者的 Zookeeper?我需要一个领导者吗?

这是我正在考虑的流程:

  1. 向zookeeper注册所有hashring服务器。
  2. 客户端发送密钥以获取服务器,zookeeper 拥有主机列表,它可以决定哪个分片将处理它。(逻辑可能是基于散列的分片或范围库驻留在 zookeeper 中)
  3. 如果服务器添加/删除,职责将被调整。(我假设我们必须在添加新服务器时手动更新职责,以防我们使用范围基础分片)?
4

1 回答 1

1

不,你不需要一个你认为的领导者。Zookeeper 将根据共识算法ZAB驱逐领导者自行处理请求。

此外,您可以使用 ZK 来管理节点列表,称为组成员资格

于 2021-04-01T09:07:14.750 回答