【分布式协调zookeeper】基础篇
admin
2023-03-19 23:01:25
0

一、zookeeper介绍

 它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等
zookeeper做了什么?

1.命名服务 2.配置管理 3.集群管理 4.分布式锁 5.队列管理

二、zookeeper架构的架构模型

zookeeper的两种模型的混合式:

Client-Server模型:用于对分布式协调系统中的对象提供协调服务;

Peer-to-Peer模型:用于在zookeeper集群内交互数据;

这种混合的体系结构,让zookeeper既保持客户端的简单化,又能够在集群内部保持一个良好的高可用机制;

zookeeper的两种运行模式:standalone 和 quorum

standalone模式:

代表zookeeper由一个单一节点构成,它的数据并不需要再多个节点之间复制;

quorum模式:

该模式主要多用于生产环境,zookeeper有多个节点后构成一个集群,通过zookeeper的Leader选举、集群节点间的数据同步有关;

当才用quorum模式时,它的基本运转流程是:

① 选举Leader

② 同步数据

③ 选举Leader过程中算法有很多,但要达到的选举标准是一致的;

④ Leader要具有最高的zxid

⑤ 集群中大多数的机器得到相应并follow选出的Leader

说明:

对于用户的读操作,zookeeper集群中的所有节点都可接收处理;
对于用户的写操作,zookeeper将它作为事务进行处理,并只有Leader才能发起事务;在每次提交之前,修改的数据要在集群中同步;

三、数据模型

zookeeper是通过集中性的C/S架构服务于客户端的,采用的是点对点的Pair-Pair架构在各节点间进行同步数据,zookeeper内部的数据结构和数据类型采用了精简的方式提供给用户使用

在数据结构上,zookeeper采用的是树形结构;树种的节点被称为znode,在整棵树种有着清晰的父子层次关系;

zookeeper对数据的修改都当做一次事务来看待,每次的事务动作都是原子操作,并分配一个唯一的zxid(zookeeper transacation id);

在每一个znode中都记录了与之相关的zxid;znode除了有效载荷数据,还包括如下属性:

czxid:引发当前znode改变的zxid

mzxid:当前znode上一次修改前的zxid

ctime:对znode事务操作所花费的时间,单位是毫秒

mtime:操作上一次znode事务所花费的时间,单位是毫秒

version:关联到zxid,znode自身版本属性,当前znode修改的次数

cversion:znode子节点的修改次数

aversion:znode ACL(访问列表)的修改测试

ephemeralOwner:记录客户端会话ID,如果是持久型znode 则为0

dataLength:znode数据字段的长度

numChildren:znode子节点的个数

1、持久型与短暂型的znode【对应于ephemeralOwner属性】

znode在创建的时候可以指定模式,可以用不同的模式组合成需要的分布式场景功能;

一个znode节点可以是持久的(Persistent),也可以是短暂的(Ephemera);

区别:
持久型:

只有收到删除命令后才能被删除;

用于保存结构信息;

短暂型:

会在客户端与服务端之间保存的会话中断时自动删除;

也能像持久型znode一样被命令删除;

客户端与服务端之间一旦建立连接,则会有定期的心跳检查以保证这个长连接的存活

2、序列znode

创建znode时会自动分配一个唯一的递增的整数,这个正向序列可以作为路径名称的一部分;

例如:客户端创建了一个序列znode为/woker/work-,则zookeeper会自动分配一个序列数,如果是当前znode下的第一个子节点则分配为1,路径变为/worker/work-1;序列节点最大的作用就是生成唯一名称节点,同时能够提供节点间的创建次序信息

3、ACL【访问列表】

zookeeper的ACL建立在认证与授权机制下,包含以下认证方式:

1. digest:通过用户名/密码对客户端进行认证;
2. sasl: 支持客户端通过Kerberos认证;
3. ip: 通过IP地址对客户端进行认证;

在授权方面,ACL可以对znode的创建(子节点)、读取、写入、删除及管理(设置ACL)进行控制


未完待续...

相关内容

热门资讯

县交警队长被举报工作日KTV饮... “公安干警有禁酒令要求,工作日不允许饮酒,也不能进入经营性娱乐场所。我认为,他违规违纪了。”一名不愿...
学习新语·政绩观|“愚公”治山... 统筹:郭洁宇 朱旭东设计:殷哲伦新华社新媒体中心新华社出品
请问瓷砖外墙做防水多少钱 已有2条回答 回复者:小休维 瓷砖外墙防水涂料60元一平方。外墙透明防水涂料无色、透明、涂覆...
旧房翻新可以直接贴壁纸吗? 不可以的。首先墙纸就不能贴在乳胶漆墙面上,因为乳胶漆的工艺、质量等都会影响到墙皮的附着力,所以在乳胶...
怎样翻新厨房瓷砖墙面?墙面瓷砖... 厨房理不管是哪一种的瓷砖,都可以在旧瓷砖上贴新的瓷砖。个别严重起鼓或者破坏的瓷砖需要革除,革除后用马...
无缝瓷砖真的可以做到无缝吗 无缝瓷砖之间的缝隙确实比较小,但是想要做到真正的无缝应该是不太可能的,据说这种无缝瓷砖每个瓷砖之间的...
瓷砖可以翻新吗 瓷砖可以翻新。瓷砖翻新的方法有多种,比如可以重新进行上色,用瓷漆在瓷砖上重新进行涂色和美化,在施工过...
庄瑞雄称沈伯洋当市长2天就能解... 海峡导报综合报道 台民意机构民进党团干事长庄瑞雄日前称,鼠患是城市治理的问题,蒋万安必须要展现市长的...
双层大巴撞上限高架,车头嵌入架... 5月9日,广东湛江一双层大巴撞上限高架,造成车身和限高架受损,无人受伤。相关视频显示,一辆白色双层大...
五一票房冠军是惊悚片,“下沉市... 【文/新潮观鱼】今年“五一”档,有一个有意思的现象:一部看起来没有“爆款相”,演员和导演都没有很大票...