ZooKeeper是一个高可用的分布式系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得zookeeper能够应用于很多场景。场景包括:
1) Master选举(主备模式)
通过在Zookeeper上同一目录下创建临时节点,创建成功的应用自然就成了Master,其他应用就成了备节点,一旦主节点发生变化,临时节点消失,备节点会再次创建临时节点,如果创建成功,备节点即升为主节点。
2) 配置管理
所有程序都监听Zookeeper目录,如果该目录下产生新的配置信息,会触发监听程序获取最新配置。
3) 分布式锁
与Master选举一样,一次只能一个程序成功创建节点,所以达到了分布式锁的目的。
4) 消息订阅/通知
消息订阅的方式与配置管理一样,也是通过监听消息目录获取最新的消息。