Zookeeper应用

节点类型与Watcher是重点, 很多的应用场景都可以从这些特性发出考虑:

  • 临时节点
  • 持久节点
  • 顺序节点

当需要设计一个系统, 需要考虑上面的两点以及每个节点可以存储少量的数据

 

统一命名服务:

在zookeeper中, 每一个数据节点都能够维护一份子节点的顺序序列, 当客户端对其创建一个顺序子节点的时候, zookeeper会自动以后缀的形式在其子节点上添加一个序号.

 

集群管理:

客户端如果对zookeeper的一个数据节点注册Watcher监听, 如果该节点发生变更, 那么zookeeper会向该客户端发送变更请求. 对于在zookeeper上创建的临时节点, 一旦客户端与服务器之间的会话消失, 那么该临时节点会被自动清除

 

Master选举:

假如有5个节点, 那么他们同时创建临时节点, 哪个节点创建成功, 那么哪个节点就是leader节点, 当这个临时节点失效后, 其他节点还可以继续这种操作, 还有一种情况5个节点同时到达, 那么可以依据myid来进行判断, 哪个myid大, 哪个就是leader节点

 

分布式锁:

分布式锁是控制分布式系统之间同步访问共享资源的一种方式. 与Master选举类似, 哪个节点创建成功, 哪个节点获取锁, 其他节点监听, 当上个临时节点完毕, 后续的节点会继续进行创建

 

posted @ 2020-04-18 21:46  Coding-Liu  阅读(97)  评论(0)    收藏  举报