首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于分配分片索引的Zookeeper

用于分配分片索引的Zookeeper
EN

Stack Overflow用户
提问于 2012-03-16 00:08:14
回答 1查看 1.1K关注 0票数 3

我在网上看到过一些关于使用Zookeeper在服务器联机时为服务器分配分片编号的帖子(假设您正在跨集群分片数据)-但在我的生活中,找不到一个Java代码示例来说明如何做到这一点。有没有人已经把它弄好了?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-16 10:41:51

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

首先创建一个持久节点/service。每台服务器在启动时都会创建一个/serviceephemeral子级,类似于/service/hostname:port。客户端在/service上维护一个watch,并在添加和删除孩子时收到通知(客户端必须在每次通知后更新他们的手表)。通过这种方式,客户端知道哪些服务器正在为请求提供服务,并可以根据需要分发请求(轮询、随机)。当服务器宕机时,它的临时节点将消失,客户端可以停止向其发送请求。

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9723640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档