ZooKeeper简介

来自于《从PAXOS到ZOOKEEPER分布式一致性原理与实践》读书笔记

是什么

是一个典型的分布式数据一致性的解决方案,可以基于ZK实现:数据pub&sub、负载均衡、命名服务、分布式锁、分布式队列等。
它保证了客户端的更新请求能在ZK结点上保持严格的顺序一致性、原子性,且对客户端而言其是Single System View,即无论连接到哪个ZK结点看到的数据是一致的。
性能:三台普通机器组成的集群可扛12~13W qps
可用性:一半以上机器可用,ZK集群会保持可用性

基本设计

一、集群角色
不是传统的master\slave,而是:
Leader:通过选举推出的一台Leader结点,可提供Read\Write。
Follower:提供Read,参与选举过程,参与Write的过半写成功。
Observer:提供Read,此类角色方便在不影响写性能的同时提高读性能。
二、会话
与客户端进行tcp长连,一个新的Session会话就开始了。通过此长连可定期心跳检查、发送请求。若连接断开,在指定时间内重连到另一台机器,之前的Session依然有效。
三、数据结点Znode
数据结点用路径来表示,如/ls/foo/bar。每个数据结点可保存数据内容,与节点的属性。
四、版本
五、Watcher
用户可以在指定结点上注册watcher,并在触发时推信息给客户端。
六、ACL(Access Control Lists)
类似于unix文件系统的权限控制,分为create\read\write\delete\admin五种权限。

ZAB协议

全称是ZooKeeper的原子消息广播协议。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • zookeeper单机模式搭建Zookeeper集群及伪集群模式搭建 简介 ZooKeeper 是一个开源的分布式...
    普度众生的面瘫青年阅读 2,999评论 0赞 10
  • 一、Zookeeper简介 Zookeeper是一个开源的分布式协调服务,Zookeeper的设计目标是将那些复杂...
    落地生涯阅读 2,955评论 0赞 0
  • 分布式服务框架 Zookeeper Zookeeper名字的由来是比较有趣的,下面的片段摘抄自《从PAXOS到ZO...
    史路比阅读 1,521评论 0赞 6
  • 序言   Apache ZooKeeper是由集群(节点组)使用的一种服务,用于在自身之间协调,并通过稳健的同步技...
    抄无止境阅读 1,089评论 0赞 1
  • 下面我就用五分钟的时间给大家分享下我为什么喜欢上上了写作哪? 首先,我想挑战下自己的薄弱环节,写作,写作是我从儿时...
    真诚永恒阅读 282评论 4赞 1

友情链接更多精彩内容