这几天学习zookeeper的粗略总结
其实,zk就是一个中间件,它的用武之地在分布式环境下!它的数据结构是一个树状结构,依托其特性
- 临时有序节点
- watcher监听机制
可以完美实现分布式锁、分布式队列的功能!
还有,它没广泛用来处理分布式应用中,各服务之间的数据一致性问题,一个优秀的分布式协调组件。它的使用分为单机使用和集群(避免单点问题)使用,集群中它的角色有
- leader:处理事务性(写)请求,半数机制尤为著名!
- follower:处理非事务性(读)请求、将接收到的事务性请求转发给leader、leader挂掉或集群启动时参与leader选举投票。
- observer:就是没有选举权的follower,帮助follower分担读请求,为啥它没有选举权呢?因为会增加选举投票的成本,降低选举效率。