我们正在考虑集中 cfg 信息,看起来 zookeeper 是一个不错的选择。我们也对分片感兴趣并且有一个方案。在 poweredBy[1] 中看到 Rackspace 和 Yahoo 正在使用 Zookeeper 进行分片。将不胜感激指针和细节。
[1] https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy
我们正在考虑集中 cfg 信息,看起来 zookeeper 是一个不错的选择。我们也对分片感兴趣并且有一个方案。在 poweredBy[1] 中看到 Rackspace 和 Yahoo 正在使用 Zookeeper 进行分片。将不胜感激指针和细节。
[1] https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy
我可以想到他们可以参考的两件事。
他们可以使用内置的集成功能进行引用。使用这些,您实际上可以为您的服务设置组管理协议。随着您将更多服务器添加到整体中,您可以有效地将您的池分割成更多数量。集合成员之间的数据在成员服务器之间同步。这对于将相同数据集分片到多个读取池的应用程序特别有用 - 例如索引服务器、搜索服务器、读取缓存等。
他们可能正在使用 ZooKeeper 进行配置管理。现在让我们假设您的应用程序可能有数千个客户端都需要同时更新其配置文件。假设您的应用程序现在访问 50 个服务器的数据存储层 - 但该池需要分片到 200 个。您可以设置从属关系来执行 1 到 4 个从属关系。然后可以使用 ZooKeeper 更新该配置文件,并实质上在一秒钟内更改每个配置文件。
Solr 将使用 Zookeeper 进行分片。ZooKeeper 集成设计文档可能对您来说很有趣。
您还应该看看 HBase 如何使用 Zookeeper;专门用于维护有关区域的信息。这类似于使用 ZK 来维护 DB 分片信息。
用于管理查找表。由于这个查找表必须是强一致的,这就是 zookeeper 的用武之地。