[英]ZooKeeper Recipes and Apache Curator
我试图准确理解Apache ZooKeeper(“ZK”)解决了什么类型的问题,也许他们的食谱页面是最好的起点。
首先,我做了以下假设 :
我相信Apache Kafka就是一个例子,其中Kafka使用ZK创建一个分布式队列 (这是列出的ZK食谱之一)。 因此,如果我的假设是正确的,ZK公开那些API方法,Apache Kafka的创建者直接使用ZK或使用Curator来实现“Queue”ZK Recipe。
如果我上面的任何假设都是错误的,请先纠正我! 假设我或多或少走上正轨:
查看ZK食谱列表,我看到以下内容(非详尽无遗):
为了让我欣赏这些食谱和他们提出的解决方案,我首先需要了解他们解决的问题! 我理解锁定来自基本的Java并发,但我只是没有看到“分布式锁定”何时需要的用例。 对于领导选举,我所能想到的 - 作为首先需要它的一个用例 - 将是你正在构建一个你想要带有内置主/从或主要/辅助功能的应用程序。 也许在这种情况下,您可以使用ZK来实现自己的“领导者选举”配方,或者只是使用Curator的Leader Latch开箱即用。 至于障碍,我不知道这些与锁有什么不同。 所以我问:
引用Zookeeper文档:
ZooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务。
关于分布式锁 - 假设您有一个分布式系统,其中所有配置都保存在Zookeeper上,并且多个实体负责更新某个配置 - 在这种情况下,您希望配置更新是同步的。
关于屏障,我个人从来没有使用过它们 - 但是如果有锁,你需要获取锁定以实际在节点上做一些事情,这是一个等待它自由的障碍,但是一旦它空闲就不一定需要设置屏障。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.