Apache zookeeper 学习动物园管理员-帮我举个例子

Apache zookeeper 学习动物园管理员-帮我举个例子,apache-zookeeper,Apache Zookeeper,我正试着让我的头围绕着动物园管理员和它的作用。到目前为止,我使用Zookeeper的经验是通过其他需要Zookeeper的库(Solr和Kafka),因此我的基本理解是非常模糊的“您最好使用Zookeeper来保持配置正确” 因此,请帮助我思考一个简单的示例问题。比方说,我构建了自己的服务,它提供“东西”。我想保护两件事: 我希望有尽可能少的停机时间(必须继续做事情) 我不能让一个以上的服务器做事情,因为糟糕的事情会发生 那么,我该如何在Zookeeper中设置这个呢?Zookeeper是否负责

我正试着让我的头围绕着动物园管理员和它的作用。到目前为止,我使用Zookeeper的经验是通过其他需要Zookeeper的库(Solr和Kafka),因此我的基本理解是非常模糊的“您最好使用Zookeeper来保持配置正确”

因此,请帮助我思考一个简单的示例问题。比方说,我构建了自己的服务,它提供“东西”。我想保护两件事:

  • 我希望有尽可能少的停机时间(必须继续做事情)
  • 我不能让一个以上的服务器做事情,因为糟糕的事情会发生
  • 那么,我该如何在Zookeeper中设置这个呢?Zookeeper是否负责在一台stuff服务器出现故障时启动另一台服务器?或者我应该订阅Zookeeper“stuff doer status”回调吗?如果我错误地启动了两台stuff服务器,Zookeeper如何帮助我避免坏事情发生?

    Zookeeper是一个很好的解决方案。这些系统为分布式系统提供诸如(又名“主选举”或“领导人选举”)等功能,并提供对少量关键信息的一致、分布式访问,这些信息经常用于配置(即,不要将其视为数据库或通用文件系统)

    请注意,Zookeeper不管理您的服务,但您可以使用Zookeeper保留一个(或多个),以便在一个主机出现故障时,另一个主机将接管,因此您可以运行服务器的N个副本,这样,如果当前领导因任何原因出现故障或变得不可用,其中一个工作实例可以立即接管

    使用主选择,您可以选择拥有两台(或更多)服务器,但其中只有一台能够获得主锁,因此只有一台能够执行操作。一旦它离开,它将失去对锁的所有权,您的热备电脑将拿起锁并开始执行您需要它执行的工作。查看代码示例。然而,正确地完成工作、检查点和一般服务恢复能力仍然取决于您的设计和实施

    <> P,动物园管理员和类似的系统为构建健壮的分布式系统提供了坚实的基础。 与Zookeeper类似的其他系统包括(按字母顺序排列):

    其中有几家公司在各自的网站上进行了详细的比较,以显示它们与列表中其他公司的区别