zookeeper
LIEYz
这个作者很懒,什么都没留下…
展开
-
一致性协议
两阶段提交协议(2PC),先询问,执行事物操作,然后提交。 阶段一:协调者向所有的参与者发送事物内容,询问是否可以提交;各参与者执行事物,记录Undo和redo日志;成功执行了事物反馈Yes响应,否则反馈no响应。 阶段二:如果所有参与者都是Yes响应,在发送commit请求,参与者收到后执行提交操作,并反馈ACK消息,协调者收到所有ACK消息后完成事物。如果任一参与...原创 2019-01-26 17:50:55 · 871 阅读 · 1 评论 -
正向代理与反向代理
正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从原始服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转交并且将获得的内容返回给客户端。反向代理正好相反。对于客户端来说,反向代理就好像目标服务器。客户端向反向代理发送请求,接着反向代理判断请求走向何处,因此客户端并不会感知到反向代理后面的服务,也因此不需要客户端做任何设置,只需要把...原创 2019-02-17 18:10:17 · 95 阅读 · 0 评论 -
分布式存储系统概述
分布式存储系统定义:由大量普通PC服务器通过Internet互联,对外作为一个整体提供服务,具有可扩展,低成本,高性能,易用的特点。数据分类非结构化数据:如办公文档,图片,视频等结构化数据:一般存储在关系型数据库中,可以用二维关系表结构来表示半结构化数据:一般是自描述的,如html文档分布式存储系统分类分布式文件系统:存储Blob数据(二进制大对象,如非结构化数据),定长块...原创 2019-02-13 21:24:29 · 495 阅读 · 0 评论 -
zookeeper数据同步
整个集群完成Leader选举后,Learner会向Leader进行注册,当Learner向Leader完成注册后,就进入数据同步环节,同步过程就是Leader将那些没有在Learner服务器上提交过的事务请求同步给Learner服务器,大体过程如下 (1)获取Learner状态。在注册Le...原创 2019-01-31 20:36:37 · 6222 阅读 · 0 评论 -
Leader选举概述
当超过一台ZooKeeper服务器启动,且服务器之间已经能够进行互相通信,每台服务器都试图找到一个Leader时,便需要进入Leader选举流程。ZooKeeper集群正常运行过程中,一旦选举出了Leader,那么所有服务器的集群角色一般不会发生变化(即使集群中有非Leader角色的服务器挂了或者有新机器加入到集群)。但是当Leader服务器挂了,那么整个集群将无法对外提供服务,直到新一轮的Lea...原创 2019-01-31 20:31:12 · 846 阅读 · 0 评论 -
zooKeeper服务器角色
ZooKeeper服务器角色:Leader:① 事务请求的唯一调度和处理者,保证集群事务处理的顺序性; ② 集群内部各服务器的调度者;Follower:①处理客户端非事务请求,转发事务请求给Leader服务器;②参与事务请求Proposal的投票;③参与Leader选举投票;Observer:①处理客户端非事务请求,转发事务请求给Leader服务器; ②参与事务请求Proposal的投票;服务...原创 2019-01-31 20:26:07 · 204 阅读 · 0 评论 -
zookeeper会话
会话(Session)是ZooKeeper中最重要的概念之一,客户端和服务端之间的任何交互操作都与会话息息相关,这其中就包括临时节点的生命周期、客户端请求的顺序执行以及Watcher通知机制等。1.会话状态在ZooKeeper客户端和服务端成功完成连接创建后,就建立了一个会话。ZooKeeper会话在整个运行期间的声明周期中,会在不同的会话状态之间进行切换,这些状态一般可以分为CONNE...原创 2019-01-31 20:22:47 · 277 阅读 · 0 评论 -
zookeeper客户端
客户端是开发人员使用ZooKeeper最主要的途径,因此我们有必要对ZooKeeper客户端的内部原理进行详细讲解。ZooKeeper的客户端主要由以下几个核心组件组成。ZooKeeper实例:客户端的入口。 ClientWatchManager:客户端Watcher管理器。 HostProvider:客户端地址列表管理器。 ClientCnxn:客户端核心线程,其内部又包含两个线程,即...原创 2019-01-31 20:15:55 · 195 阅读 · 0 评论 -
zookeeper系统模型
本文将从数据模型、节点特性、版本、监听器、ACL五方面来阐述zookeeper的系统模型。1. 数据模型zookeeper采用树形层次结构,树中的每个节点被称为znode。 znode的节点路径标识方式和Unix文件系统路径非常相似,都是由一系列使用斜杠(/)进行分割的路径表示,开发人员可以向这个节点中写入数据,...原创 2019-01-30 23:30:42 · 404 阅读 · 0 评论 -
ZAB协议
zookeeper 是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面,zookeeper 并没有使用 Paxos ,而是采用ZAB 协议,它有两种基本模式,崩溃恢复模式和消息广播模式,ZAB 让整个 zookeeper 集群在两个模式之间转换,消息广播可以说是一个简化版本的 2PC,通过崩溃恢复解决了 2PC 的单点问题,通过队列解决了 2PC 的同步阻塞问题。而支持崩溃恢...原创 2019-01-27 22:30:21 · 1749 阅读 · 0 评论 -
分布式架构
集中式:一台或多台高性能计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统的所有功能均由其集中处理。分布式:采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务,在空间上任意分布,彼此之间通过消息进行通信和协调,没有主从之分,即没有控制整个系统的主机,也没有被控制的从机。分布式环境的典型问题:通信异常(消息丢失,延...原创 2019-01-23 22:02:10 · 198 阅读 · 0 评论 -
消息队列概述
1. 分布式与集群 如果一个业务被拆分为多个子业务部署在不同的服务器上,那就是分布式应用;如果是同一个业务部署在多台服务器上,那就是集群。2. 分布式系统间通信的方式: 远程过程调用(RPC),将单机环境下的过程调用加以扩充后延伸到分布式系统环境,指用户可以像调用本地过程一样调用不同地域的不同计算机上的过程从而使得应用程序设计人员不必设计和开发有关发送和接收信息的实现细节...原创 2019-02-18 21:09:28 · 186 阅读 · 0 评论