用于一致性哈希的 Zookeeper?

Zookeeper for Consistent hashing?

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

这是我想到的流程:

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

不,您不需要您认为的领导者。 Zookeeper会根据共识算法ZAB.

逐出leader自己处理请求

此外,您可以使用 ZK 来管理节点列表,称为 group membership