Zookeeper的使用场景

统一命名服务

利用ZooKeeper节点的树形分层结构和子节点的顺序维护能力,来为分布式系统中的资源命名。

例:分布式节点命名

分布式消息队列

1.在Zookeeper中创建一个持久节点,用作队列的根节点。队列元素的节点放在这个根节点下。
2.入队:在队列的根节点下创建一个临时有序节点。节点的数据可以包含队列元素的信息。
3.出队:获取根节点下的所有子节点,找到具有最小序号的子节点,获取该节点的数据,删除该节点,返回节点的数据

分布式锁

ZooKeeper 的 ephemeral 节点实现分布式锁。如果锁的持有者宕机了,锁可以被释放。

1.非公平锁,使用临时 znode 来表示获取锁的请求,创建 znode成功的用户拿到锁

Zookeeper的使用场景_第1张图片

2.公平锁,使用临时有序节点来表示获取锁的请求,创建最小znode 的客户端拿到锁

Zookeeper的使用场景_第2张图片

分布式ID

可以通过创建ZooKeeper的临时顺序节点,生成全局唯一的ID。

分布式协调等功能。

集群管理

分布式配置管理

待补充...

你可能感兴趣的:(zookeeper)