随着互联网系统规模的不断扩大,大数据时代飞速到来,越来越多的分布式系统将ZooKeeper作为核心组件使用。接下来一起看一下ZooKeeper究竟可以做哪些工作。
1、数据发布/订阅
数据发布/订阅系统,就是将数据发布到ZooKeeper的一个或一系列节点上,供订阅者进行数据订阅,从而达到动态获取数据的目的。
发布/订阅系统一般有两种设计模式,分别是推(Push)和拉(Pull)。ZooKeeper中采用的是推拉接口的方式:客户端向服务端注册自己需要关注的节点,一旦该节点数据发生变更,服务端就会向相应的客户端发送Watcher事件通知,客户端收到这个消息后,需要主动到服务端获取最新的数据。