Zookeeper是一个开源的分布式的,为别的分布式矿建提供协调服务的Apache项目。分布式简单地理解就是多台机器共同完成一个任务。
从设计模式的角度来理解,是一个基于观察者模式设计的分布式服务管理框架。它扶着存储和管理大家都关心的数据,然后接受观察者的注册。一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的哪些观察者做出相应的反应。
可以把Zookeeper看作一个直播APP,用户相当于客户端,主播相当于服务器,当这个网红今天要直播的时候,就在Zookeeper里注册,然后用户就能通过Zookeeper看到这些直播的数据,用户可以指定想要看的直播,如果想看的主播现在在直播,APP就通知用户可以看啦。
所以Zookeeper相当于文件系统+通知机制。文件系统存储服务器的上线信息。当数据有任何变化就告诉客户端。