ZooKeeper
文章平均质量分 54
李大洲
我有一壶酒,足以慰风尘。尽倾江海里,赠饮天下人。
展开
-
一致性协议(3)--Paxos算法
Paxos算法是一种基于消息传递且具有高度容错性的一致性算法,是目前公认的解决分布式一致性问题最有效的算法之一。Paxos算法解决的问题是如何在一个可能发生宕机或者网络异常的分布式系统中,快速且正确地在集群内部对某个数据的值达成一致,并且保证不论发生以上任何情况,都不会破坏整个系统的一致性。提案:由编号和Value组成的组合体。该算法成立的前提是假设不存在拜占庭将军问题,即消息的内容不会被原创 2018-01-11 21:02:19 · 211 阅读 · 0 评论 -
ZooKeeper技术内幕(四)
六、Leader选举:1、概述1)服务器启动时的Leader选举:我们假设有3台服务器组成一个集群。server1、server2、server3。myid分别是1、2、3。①每个server会发出一个投票,每次投票包含的最基本元素有:所选举的服务器的myid和ZXID。刚开始都会将自己作为Leader服务器来进行投票。所以server1的投票为(1,0),server2的投票为(...原创 2019-08-21 09:07:06 · 126 阅读 · 0 评论 -
ZooKeeper技术内幕(三)
四、会话1、会话状态ZooKeeper客户端与服务端创建连接后,就建立起了一个会话。会话有几种状态:CONNECTING、CONNECTED、RECONNECTING、RECONNECTED、CLOSE等。2、会话创建1)SessionSession是ZooKeeper的会话实体,达标一个客户端会话。包含四个基本属性:sessionID、TimeOut、TickTime、isC...原创 2019-08-20 18:44:02 · 231 阅读 · 0 评论 -
ZooKeeper技术内幕(二)
二、序列化与协议1、序列化ZooKeeper中使用Jute进行数据的序列化与反序列化。1)使用步骤:(1)实体类需要实现Record接口的serialize和deserialize方法;(2)构建序列化器OutputArchive;(3)序列化:调用serialize方法;(4)反序列化:调用deserialize方法。2、通信协议基于TCP/IP协议,ZooK...原创 2019-08-20 15:29:17 · 207 阅读 · 0 评论 -
ZooKeeper技术内幕(一)
一、系统模型1、数据模型1)ZNode:是ZooKeeper中最小的数据单元,每个ZNode都可以保存数据和挂载子节点,构成一个层次化的命名空间,称为树。2)事务ID:ZooKeeper中,事务指的是能够改变服务器状态的操作,,包括数据节点的创建与删除,数据节点内容变更等。对于每一个事务请求,ZooKeeper会为其分配一个全局唯一的事务ID,即ZXID,通常是一个64位的数字,每一个...原创 2019-08-19 21:00:58 · 193 阅读 · 0 评论 -
一致性协议(1)--二阶段提交协议(2PC)
2PC是 Two-Phase Commit的缩写,即二阶段提交。二阶段提交协议是数据库领域,为了使分布式系统所有节点在事务处理过程中能够保证原子性和一致性的一种算法。目前,在绝大多数的关系型数据库都是采用二阶段提交协议来完成分布式事务处理的。二阶段提交协议具体过程如下:阶段一:提交事务请求: 1.事务询问:协调者向所有的参与者发送事务内容,询问是否可以进行事务提交,并开始等待各参与者原创 2018-01-09 21:20:31 · 303 阅读 · 0 评论 -
一致性协议--三阶段提交协议(3PC)
3PC是 Three-Phase Commit的缩写,即三阶段提交,是2PC的改进版,将二阶段提交协议的"提交事务请求"过程一分为二,形成了CanCommit、PreCommit、和doCommit三个阶段组成的事务处理协议。阶段一:CanCommit 1、事务询问:协调者向所有的参与者发送一个包含事务内容的CanCommit请求,询问是否可以执行事务提交操作,并开始等待各参与原创 2018-01-10 21:12:45 · 434 阅读 · 0 评论 -
从事物的ACID特性到CAP/BASE理论
事务:由一系列对系统中数据进行访问与更新的操作组成的一个程序执行逻辑单元,狭义上的事务指数据库事务。 事务有四个特性,分别是:原子性(Actomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。简称事务的ACID特性。 原子性:事务必须是一个原子的操作序列单元。 一致性:事务的执行不能破坏数据库数据的完整性和一致性,一个原创 2018-01-08 20:25:56 · 224 阅读 · 0 评论 -
ZooKeeper分布式一致性问题
分布式一致性问题在分布式环境中引入数据复制机制后,不同数据节点间可能出现的,并无法依靠计算机应用程序自身解决的数据不一致情况。其实就是在对一个数据进行更新的同时,必须确保也能够更新其他副本,否则会出现数据不一致的情况。一致性级别: 强一致性:写入什么,系统读出来也会是什么,用户体验好,但往往对系统的性能影响比较大。 弱一致性:约束了系统在写入原创 2018-01-07 19:47:53 · 739 阅读 · 1 评论 -
ZooKeeper技术内幕(五)
七、各服务器角色介绍1、Leader处理事务请求,保证集群处理事务的顺序性;集群内部服务器的调度者;2、Follower处理客户端非事务请求,转发事务请求给Leader服务器;参与Leader选举;3、Observer与Follower的区别是不参与Leader选举。八、数据与存储数据存储分为两部分:内存数据存储、磁盘数据存储1、内存数据1)DataTree...原创 2019-08-21 15:43:57 · 179 阅读 · 0 评论