ZooKeeper是以Fast Paxos算法为基础的,存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解
zookeeper解决问题:
1.集群的管理问题,如何检测各个节点的生命状态
2.如何实现分布式锁
3.如何统一管理集群的配置文件
4.集群中某个节点的信息更新如何同步到整个集群的机器
5.集群内部的选举问题如何实现
6.抢占资源的时候,容易出现死锁和活锁,当处于活锁时每一个线程都抢不到资源,会形成CPU的耗费,如何减小消耗
zookeeper使用场景:
一、配置文件的同步
二、分布式锁实现
三、各个组件的高可用性HA的实现
参考文章:
https://www.shangmayuan.com/a/f91272160bad45e38a929ada.html
网友评论