简述Zookeeper。。。watcher

Zookeeper为分布式应用提供了一个高效可靠的分布式协调服务。它实现是依赖于ZAB协议,实现了一种主备模式的架构来保持集群中数据的一致性。Zookeeper使得分布式应用可以通过一个共享的树形结构的命名空间实现协调。它还将所有的数据存储在内存中。Zookeeper集群中的任何一台机器都可以响应客户端的读操作,且全量数据存在于内存中,因此Zookeeper更适合以读操作为主的应用场景。

集群中包括三种角色:leader,follower,observer。其中leader是通过选举确定的一台机器,为客户端提供读写功能。follower与observer可以在不影响写性能的前提下提升集群的读性能。Zookeeper集群节点的数量为奇数个。它的节点有三种类型分别为临时节点,持久节点,顺序节点,每个节点有一个stat结构。最重要的功能就是watcher功能。

watcher:watcher在ZK是一个核心功能,watcher可以监控目录节点的数据变化以及子目录的变化,一旦这些状态发生变化时,服务器就会通知所有设置在这个目录节点上的watcher,从而每个客户端都很快知道它所关注的目录节点的状态发生变化,而做出相应的反应。

它的应用场景有:统一命名服务,集群管理,master选举,分布式屏障等。

开源客户端有:zkclient, curator。

猜你喜欢

转载自my.oschina.net/134596/blog/1647053
今日推荐