我一直在看动物园管理员最近,不知道是否有人目前正在使用它,他们是专门用它来存储。
最常见的情况是配置信息,但多少数据你存储什么样的数据和?
我一直在看动物园管理员最近,不知道是否有人目前正在使用它,他们是专门用它来存储。
最常见的情况是配置信息,但多少数据你存储什么样的数据和?
在Apache的CXF实现 DOSGi的使用饲养员为它服务注册库。 个别容器具有监听所有的服务事件,并在具有属性,来指示分布的服务状态变化的分布式软件(DSW)束。 该DSW会谈发现一束,参考实现的情况下,使用了动物园管理员存储服务为短暂的节点。 其他情况下会寻找变化的节点结构和登记在其本地系统代理。 最终的结果是可以编码为纯OSGi和与透明分配结束。
HBase的使用动物园管理员协调活动的“头节点”负责前到当前版本。 此举使用动物园管理员装置中央控制不再是单个故障点。
动物园管理员是非常灵活; 这里是用它来建立一个分布式并发队列的一个例子:
http://blog.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/
你当然也可以用它来创建资源锁等,在分布式系统中。
老问题,但由于该页面出现首先在谷歌搜索饲养员使用的情况下,我想这将是最好给的更新列表
自由软件项目技术的ZooKeeper:
Apache项目技术的ZooKeeper:
来源: https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy
诺伯特是一个可扩展的生产系统一个很好的例子。 我一般情况下,它集成了Netty,协议缓冲器和动物园管理员为轻量级的框架运行群集服务。 Protocol Buffers的用于指定服务API,Netty的实现传输层抽象和动物园管理员本质上是一种容错发现服务。
每一个服务实例启动时诺伯特它注册一个特殊服务类型的可用实例。 从实现的角度来看,它创建了两个动物园管理员树:
每个节点最重要的属性是用来连接到相应的服务实例的URL。 它使客户端负载均衡 - 一个诺伯特客户端找到的网址给定服务名称的列表,并尝试连接到其中之一是一些命令(例如,循环或随机)。
这是一个很好的文章的ZooKeeper -协调国王约ZooKeeper的位置找到。
Solr的也在努力整合的ZooKeeper 。 在这里,你可以看到他们正在使用的动态配置,分片,SPOF消除(主/从选),再平衡,等等。
暴风使用动物园管理员来存储所有的状态,以便它可以在其任何(分布式)组件服务的中断中恢复。
这使得组件服务是无状态的,只是需要配置数据时与动物园管理员服务器下载或同步。 如果你曾经不得不恢复生产服务器,你会知道头痛这可能是什么!
卡夫卡队列消费者可以用动物园管理员存储在什么已经从队列中消费的信息(高水位)。
在我的例子中,我们存储配置文件在饲养员合奏集群使用。 我们正在使用的领导者 - >跟随模式。 所以,当一个饲养员下来,我们切换成另一种(复制模式)
动物园管理员用于配置相比其他很多东西。 下面是使用饲养员实现分布式原语的正式名单。
https://zookeeper.apache.org/doc/current/recipes.html
Neo4j的使用动物园管理员的高可用性的企业级服务器! http://docs.neo4j.org/chunked/milestone/ha.html
datomic使用Apache的动物园管理员管理基于了Riak的数据存储。
因为了Riak此时仅支持最终一致性,上了Riak运行Datomic系统还采用Apache的ZooKeeper的,高度可用的协调服务。 Datomic使用ZooKeeper的为交易者故障转移的协调,并为每个数据库需要用CAS更新密钥的屈指可数。 来源: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html
下面是一些关于HBase的是如何使用ZooKeeper的细节 ,包括他们如何打算将来使用它的信息。 他们一般用它来消除通过领导人选举的区域服务器上使用SPOF实施的ZooKeeper。