(40)...ZooKeeper
ZooKeeper作为优秀的分布式锁的实现者之一,在分布式领域久经考验,它的可靠性,可用性都是经过理论和实践的验证的。在我们做分布式系统架构的时候,可以尝试使用ZooKeeper。
IT云清
技术专家,团队主管,Apache Seata Committer,公众号:java4all
展开
-
ZooKeeper---(11)ZooKeeper与Paxos算法分析
本文转载自:Sunddenly(⊙_⊙)一、Paxos算法1.1 基本定义(1) 算法中的参与者主要分为三个角色,同时每个参与者又可兼领多个角色:① proposer 提出提案,提案信息包括提案编号和提议的value;② acceptor 收到提案后可以接受(accept)提案;③ learner 只能"学习"被批准的提案;(2) 算法保证一致性的基本语义:① 决议(value)只有在被propo...转载 2018-02-12 14:22:30 · 572 阅读 · 0 评论 -
ZooKeeper---(10)ZooKeeper权限管理机制
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper权限管理机制介绍 本节将简要介绍ZooKeeper ACL 权限管理的几种方式。ZooKeeper 的权限管理亦即ACL 控制功能,通过Server、Client 两端协调完成:1.1 Server端 一个ZooKeeper 的节点(znode)存储两部分内容:数据和状态,状态中包含ACL信息。创建一个znode 会产生一个ACL ...转载 2018-02-12 14:18:26 · 2106 阅读 · 0 评论 -
ZooKeeper---(9)ZooKeeper配置参数说明
本文转载自:Sunddenly(⊙_⊙)(1)dataDir 用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里。(2)dataLogDir 用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争。(3)tickTime 心跳时间,为了确保client-server连接存在的,以毫秒为单位,最小超时时间...转载 2018-02-12 14:13:43 · 642 阅读 · 0 评论 -
ZooKeeper---(8)ZooKeeper伸缩性
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper中Observer1.1 ZooKeeper角色经过前面的介绍,我想大家都已经知道了在ZooKeeper集群当中有两种角色Leader和Follower。Leader可以接受client请求,也接收其他Server转发的写请求,负责更新系统状态。 Follower也可以接收client请求,如果是写请求将转发给Leader来更新系统状态...转载 2018-02-12 11:07:00 · 461 阅读 · 0 评论 -
ZooKeeper---(7)ZooKeeper一致性原理
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper 的实现1.1 ZooKeeper处理单点故障我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示。图 1.1 ZooKeeper解决单点故障那么我们继续分析一下,ZooKeeper通过Master选举来帮助分布式系统解决单点故障,保证该系统中每时每刻只有一个Master为分布式系统提...转载 2018-02-12 10:16:09 · 642 阅读 · 0 评论 -
ZooKeeper---(6)ZooKeeper机制架构
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control List) ZooKeeper 的权限管理亦即ACL 控制功能,使用ACL来对Znode进行访问控制。ACL的实现和Unix文件访问许可非常相似:它使用许可位来对一个节点的不同操作进行允许或禁止的权限控制。但是和标准的Unix许可不同的是,Zookeeper对于用户类别...转载 2018-02-12 10:11:07 · 641 阅读 · 0 评论 -
ZooKeeper---(5)ZooKeeper管理分布式环境中的数据
本文转载自:Sunddenly(⊙_⊙)引言本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法、Zab协议、通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解。由于内容比较多,一口气吃不成胖子,得慢慢来一步一个脚印,因此我对后期ZooKeeper的学习规划如下:第一阶段:|---理解ZooKeeper的应用 ...转载 2018-02-12 09:21:52 · 751 阅读 · 0 评论 -
ZooKeeper---(4)ZooKeeper应用构建
本文转载自:Sunddenly(⊙_⊙)一、配置服务配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分。简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和更新配置文件。使用ZooKeeper中的观察机制,可以建立一个活跃的配置服务,使那些感兴趣的客户端能够获得配置信息修改的通知。下面来编写一个这样的服务。我们通过两...转载 2018-02-12 09:14:37 · 821 阅读 · 0 评论 -
ZooKeeper---(3)ZooKeeper的操作命令详解
本文转载自:Sunddenly(⊙_⊙)一、Zookeeper的四字命令Zookeeper支持某些特定的四字命令字母与其的交互。他们大多数是查询命令,用来获取Zookeeper服务的当前状态及相关信息。用户在客户端可以通过telnet或nc向Zookeeper提交相应的命令。Zookeeper常用的四字命令见下图所示。上图,是Zookeeper四字命令的一个简单用例。[root@hadoop ~]...转载 2018-02-11 17:51:50 · 1743 阅读 · 0 评论 -
ZooKeeper---(2)ZooKeeper安装配置
本文转载自:Sunddenly(⊙_⊙)一、Zookeeper的搭建方式Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境;■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例;■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)Zoo...转载 2018-02-11 17:39:45 · 1375 阅读 · 0 评论 -
ZooKeeper---(1)ZooKeeper原理介绍
本文转载自:Sunddenly(⊙_⊙)一、分布式协调技术在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。这时,有人可能会说这个简单,写一个调度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解...转载 2018-02-11 17:33:13 · 1760 阅读 · 3 评论 -
ZooKeeper系列教学
本专题是ZooKeeper的一些列教学文章,本来博主打算自己写,但是写了两篇之后,查资料过程中发现了Sunddenly(⊙_⊙) 的博客,他的这个系列写的非常专业,而且图文并茂,就转载了过来;我在文章首行挂了原文链接,文章末尾保留了博主的版权声明,文章类型都已经设置为转载,如果有读者想要转载,请遵守原文作者版权声明要求,原创不易,请大家尊重创作者,感谢Sunddenly(⊙_⊙) 下面是此...原创 2018-02-11 18:06:37 · 3432 阅读 · 0 评论