Zookeeper是否具有进程同步功能,还是仅用于控制进程?

时间:2013-10-24 19:48:54

标签: synchronization redis ipc rabbitmq apache-zookeeper

我的意思是,zookeeper提供任何通用的同步机制IPC(例如共享区域),还是应用程序设计的问题,应该用例如ZeroMQ,RabbitMQ,Redis?

1 个答案:

答案 0 :(得分:0)

“Zookeeper是一种高度可配置,高度可用的协调服务。”来自Hadoop的书籍,因为Hadoop是由Zookeeper构建的。将它与JMS消息传递(MQ)进行比较---在Zookeeper中,节点必须彼此了解,它们已准备好进行协调;队列可以与Znodes进行比较我猜...在Zookeeper中有两种类型:永久性,它将在节点停止并跨越集群和瞬态后持续存在;这种情况不会持续存在,但仍会在动物园管理员群集中看到。比较很难 - 猜测它将取决于它是如何使用的。我可能会使用MQ进行远程消息传递,而Zookeeper将更多地用于协调(保留动物园)而不是长途消息传递。人们可能会想到耦合以及事物的紧密或松散程度。

在一个非常简单的用例中,所有节点都在运行Zookeeper并且彼此了解;一个节点向Zookeeper写了一些东西,他们都看到了它。 Zookeeper有手表可以与事件进行比较。因此,如果出现新的znode或节点上的数据发生更改,则可以触发程序或服务来执行某些操作。

zkCli.sh(在zookeeper的bin目录中)之后启动了一个到zookeepr的接口,人们可以做,'ls',看看用'znodes'写的是什么。例如:'ls / Systems'可能会显示一系列节点,例如system1,system2,system3,具体取决于它的用途。 ... systemn“。这些可以是已注册的系统,即:它们具有在其上运行的服务。执行get / Systems / system1获取其数据,该数据可能是系统上的信息,例如内存或其工作内容。

还有更多但希望有所帮助。