3

我在网上看到了一些关于使用 Zookeeper 在服务器上线时将分片编号分配给服务器的帖子(假设您正在跨集群对数据进行分片) - 但对于我来说,我找不到如何执行此操作的 Java 代码示例。有人已经有这个工作了吗?谢谢。

4

1 回答 1

4

跨集群分片数据有很多细节,例如复制和故障恢复。我通过分片假设你的意思是你有N个节点,每个节点应该处理1/N的请求,并且客户端可以发现哪些服务器正在运行。

您首先创建一个持久节点/service。每个服务器都会在它启动时创建一个临时子节点,例如. 客户保持监视并在添加和删除儿童时收到通知(客户必须在每次通知后更新他们的手表)。通过这种方式,客户端知道哪些服务器正在为请求提供服务,并且可以适当地分发请求(循环、随机)。当服务器宕机时,它的临时节点将消失,客户端可以停止向它发送请求。/service/service/hostname:port/service

如果您正在寻找 zookeeper 图书馆,curator可能是最好的。客户端将使用Path-Cache,而服务器只是创建一个临时节点。

于 2012-03-16T02:41:51.087 回答