Zookeeper学习笔记五之监控与通知

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012831423/article/details/82795429

监控与通知

Zookeeper通常以远程服务的方式被访问,如果每次访问znode时,客户端都需要获得节点中的内容。这样的代价就非常大。因为这样会导致更高的延迟,而且Zookeeper需要做更多的操作,例如下图中,第二次调用getChildren /tasks返回了相同的值,一个空的集合,是没必要的

这是一个常见轮询问题,为了替换轮询问题,ZK选择了基于通知(notification)的机制:客户端向ZK注册需要接收通知的znode,通过对znode设置监控点(watch)来接收通知。监控点是一个单词触发大操作,会触发一个通知。为了接收多个通知,客户端必须在每次通知后设置一个新的监控点。如下图,当节点/tasks发生变化时,客户端会收到一个通知,并从ZK读取一个新值

猜你喜欢

转载自blog.csdn.net/u012831423/article/details/82795429