
ZooKeeper
zooKeeper学习笔记
jazon@
芜湖
展开
-
ZAB协议剖析
ZAB协议(ZooKeeper原子消息广播协议)只针对ZooKeeper的崩溃可恢复的原子消息广播协议。ZooKeeper使用一个单一的主进程来接收并处理客户端的事务处理,并采用ZAB协议,将服务器数据的状态变更以事务Proposal的形式广播道所有的副本进程上去。ZAB协议的这个主备模型架构保证了同一时刻集群中只能够有一个主进程来广播服务器的状态变更。ZAB能够保证一个全局的变更序列被应用。ZAB协议还要保证,当主进程出现崩溃或重启时,能够继续工作。核心所有事务请求必须由一个全局唯一的服务器来协调原创 2020-09-11 00:28:47 · 329 阅读 · 0 评论 -
《从Paxos到Zookeeper》--客户端会话创建过程
《从Paxos到Zookeeper》–客户端会话创建过程ZooKeeper的客户端主要由以下几个核心组件组成ZooKeeper实例:客户端的入口ClientWatchManager:客户端Watcher管理器HostProvider:客户端地址列表管理器ClientCnxn:客户端核心线程,其内部又包含两个线程,即SendThreaad和EventThread。前者是一个I/O线程,主要负责ZooKeeper客户端与服务端之间的网络I/O通信。后者是一个事件线程,主要负责对服务端事原创 2020-09-04 00:08:31 · 119 阅读 · 0 评论 -
《从Paxos到Zookeeper》-ZooKeeper技术内幕--系统模型
《从Paxos到Zookeeper》-ZooKeeper技术内幕–系统模型树每个数据节点被称为Znode,他们按树的形式组织。事物ID事务操作是能够改变ZooKeeper服务器状态的操作,包括数据节点创建,数据更改,客户端会话创建与失效,对于每个事务操作,ZooKeeper都会分配一个全局唯一的事务ID,用ZXID来表示。节点特性节点类型:持久节点、持久顺序节点、临时节点、临时顺序节点节点状态信息通过get命令可以看到节点状态信息版本-保证分布式数据原子性操作表示的是对数据节点的内容原创 2020-08-31 23:18:16 · 217 阅读 · 1 评论 -
《从Paxos到ZooKeeper》一致性协议(二)之Paxos
《从Paxos到ZooKeeper》一致性协议(二)之Paxos(一)、拜占庭问题拜占庭问题即信道不可靠问题,在分布式系统中是不存在的或者说是很容易解决的。(二)、Paxos要解决的问题议会通过法令问题:议员通过信使进行消息传递,议员和信使都可能离开议会,在这种情况下,如何保证议会法令正确产生,不会出现冲突。(三)、Paxos算法详解paxos要保证内容paxos要保证以下几点:paxos算法中有三种参与角色:Proposer(提议者),Acceptor(决策者)和Learner(不提议原创 2020-08-30 19:31:38 · 208 阅读 · 0 评论 -
《从Paxos到ZooKeeper》一致性协议(一)
《从Paxos到ZooKeeper》一致性协议(一)(一)2PC协议即二阶段提交,目前绝大部分关系型数据库都是采用二阶段提交协议来完成分布式事务处理,保证分布式系统数据的一致性。阶段一: 提交事务请求事务询问:协调者向所有参与者发送事务内容,询问是否可以执行事务提交操作,并开始等待个参与者的响应。执行事务:各参与者节点执行事务操作,并将Undo和Redo信息计入事务日志中。参与者向协调者反馈事务询问响应,如果成功,反馈YES,失败反馈NO。阶段二: 执行事务提交1.如果协调者获得的反馈都原创 2020-08-30 19:26:05 · 171 阅读 · 0 评论 -
Zookeeper入门
ZookeeperZookeeper是一个分布式协调系统,分布式系统的协调工作就是通过某种方式,让每个节点的信息能够同步和共享。ZooKeeper通过共享存储的方式进行协调,ZooKeeper就像是svn,存储了任务的分配、完成情况等共享信息。每个分布式应用的节点就是组员,订阅这些共享信息。当主节点(组leader),对某个从节点的分工信息作出改变时,相关订阅的从节点得到zookeeper的通知...原创 2020-04-05 12:15:59 · 162 阅读 · 0 评论