Zookeeper体系结构
上面我们已经讨论了zookeeper在应用程序中的一些操作,以下我们须要理解一下服务端的工作的原理。client是怎样通过一个client的类库与服务端进行通信的,然后服务端又是怎样回应client的。
以下这张图显示了client和服务端的关系,每一个client都须要导入到client的类库中。然后才干够与zookeeper的节点进行交互
Zookeeper能够运行在两种模式中各自是独立模式和复制模式,独立模式就是同意在一台主机上。zookeeper的状态并不能被复制;对于集群模式,我们能够保证服务端的状态一致。而且同一时候一起收到来自client的请求。
Zookeeper的集群模式
在集群模式中。zookeeper须要复制他们的数据信息来保证全部的服务端信息一致性。那么假设每一个client都须要等全部的信息一致的话。时间将会很的长。在一个公共的管理中,我们能够採取以下办法,比如有5台zookeeperserver。可是能够有三个集群的话,那么client仅仅须要在3个集群信息保持一致的话,就能够进行以下的操作,后面的2台zookeeperserver终于会赶上和存储数据。
重要的是怎样选择一个适当的大小的群体,最后必须保证,不管延迟和系统崩溃,不论什么更新请求,服务都能够运行下去。
在一个有5个节点的集合体中,每一个Follower节点的数据都是Leader节点数据的副本,也就是说我们的每一个节点的数据视图都是一样的,这样就能够有五个节点提供ZooKeeper服务。而且集合体中随意2台机器出现问题,都能够保证服务继续,由于剩下的3台机器超过了半数。
回话
在client与zookeeper交互之前,client必须与服务端建立一个回话。回话是必须的,不论什么client的操作都必须在回话中完毕,一旦回话结束,暂时节点也将会消失。
会话保证了顺序的运行,这意味着请求在一个会话中运行FIFO(先进先出)。通常情况下,一个客户仅仅有一个会话打开,所以它的请求都是先进先出顺序运行。假设一个客户有多个并发会话。先进先出顺序不一定是保存在会话。
连续会话同样的客户,即使他们不重叠,也不一定保持先进先出顺序。
这是可能发生在这样的情况下:
1. client建立一个会话,使连续两个异步调用创建/task和/worker
2. 第一个回话过期了
3. client创建了另外一个回话,异步的调用创建了/assign
在这个调用序列,它是可能的,仅仅有创建了/task和/assign,它保留了第一次回话中先进先出的顺序,但违反了跨回话。
Zookeeper体系结构的更多相关文章
- 分布式服务协调技术zookeeper笔记
本文主要学习ZooKeeper的体系结构.节点类型.节点监听.常用命令等基础知识,最后还学习了ZooKeeper的高可用集群的搭建与测试.希望能给想快速掌握ZooKeeper的同学有所帮助. ZooK ...
- ZooKeeper学习第六期---ZooKeeper机制架构
一.ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control List) ZooKeeper 的权限管理亦即ACL 控制功能,使用ACL来对Znode进行访问控制.ACL的 ...
- 【Zookeeper系列】ZooKeeper机制架构(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4133784.html 一.ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control L ...
- ZooKeeper系列(6):ZooKeeper机制架构
一.ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control List) ZooKeeper 的权限管理亦即ACL 控制功能,使用ACL来对Znode进行访问控制.ACL的 ...
- ZooKeeper学习第六期---ZooKeeper机制架构(转)
转载来源:https://www.cnblogs.com/sunddenly/p/4133784.html 一.ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control L ...
- HBase体系结构(转)
HBase的服务器体系结构遵循简单的主从服务器架构,它由HRegion服务器(HRegion Server)群和HBase Master服务器(HBase Master Server)构成.HBase ...
- HBase体系结构
HBase的服务器体系结构遵从简单的主从服务器架构,它由HRegion服务器(HRegion Service)群和HBase Master服务器(HBase Master Server)构成.Hbas ...
- Zookeeper从入门到精通(开发详解,案例实战,Web界面监控)
ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookee ...
- [转载] zookeeper应用——集中配置管理系统的实现
转载自http://blog.csdn.net/huangfengxiao/article/details/8844239 1 场景描述 参考http://www.ibm.com/developerw ...
随机推荐
- ROS-TF-新建坐标系
前言:在前面的试验中,我们分别有wolrd,turtle1和turtle2三个坐标系,并且world是turtle1和turtle2的父坐标系.现在我们来新建一个自定义坐标系,让turtle2跟着新的 ...
- myeclipse2014 破解步骤
1.打开破解文件夹Myeclipse 2014 patch,运行run.bat文件 2.在破解界面中,usercode随便输入, systemid 在右边的SystemId按钮处,点击. 将自动生成一 ...
- Windows下错误码全解析
windows系统下,调用函数出错时.可以调用GetLastError函数返回错误码.但是GetLastError函数返回值是DWORD类型,是一个整数.如果想要知道函数调用的真正错误原因,就需要对这 ...
- SQLite 在 Android 的应用
Android提供了创建和使用SQLite数据库的API(Application Programming Interface,应用程序编程接口). 在Android系统中,主要由类SQLiteData ...
- C#中SetWindowPos函数详解
[DllImport("user32.dll")] private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWnd ...
- I2C controller core之Bit controller(03)
FPGA proven, AISC proven, I2C controller core from OpenCores http://opencores.org/project,i2c Bit-co ...
- SQL Server对数据进行删除
SQL Server对数据进行删除,把页面的信息从数据库删除. auto"> <tr style="background:red"> <td> ...
- ui界面设计
UI即User Interface(用户界面)的简称,指对软件的人机交互.操作逻辑.界面美观的整体设计.好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适简单.自由,充分体现软件的定位 ...
- cmd 运行 svn 亲测!!!
如果之前安装了svn客户端,但是一直提示svn停止工作的话就可以用cmd去操作svn更新和提交了:或者可以直接用别的代码IDE(包含svn插件的)去进行svn的操作. 接下来我说说windows如何用 ...
- 进行https通信时服务器端下发的是一个证书链
进行https通信时服务器端下发的是一个证书链,否则无法验证证书的有效性.