Zookeeper是什么?Zookeeper分布式服务框架的应用场景管理_天天速看
1、简介
Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理
(资料图)
简单的说,zookeeper = 文件系统 + 通知机制。
2、应用场景
命名服务: 在zookeeper的文件系统里创建一个目录,即有唯一的path。在我们无法确定上游程序的部署机器时即可与下游程序约定好path,通过path即能互相探索发现。 这个主要是作为分布式命名服务,通过调用zk的create node api,能够很容易创建一个全局唯一的path,这个path就可以作为一个名称。
配置管理 现在把这些配置全部放到zookeeper上去,保存在 Zookeeper 的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到 Zookeeper 的通知,然后从 Zookeeper 获取新的配置信息应用到系统中就好。
集群管理 所谓集群管理无在乎两点:是否有机器退出和加入、选举master。 对于第一点,所有机器约定在父目录GroupMembers下创建临时目录节点,然后监听父目录节点的子节点变化消息。一旦有机器挂掉,该机器与 zookeeper的连接断开,其所创建的临时目录节点被删除,所有其他机器都收到通知:某个兄弟目录被删除,于是,所有人都知道:它上船了。 新机器加入也是类似,所有机器收到通知:新兄弟目录加入,highcount又有了,对于第二点,我们稍微改变一下,所有机器创建临时顺序编号目录节点,每次选取编号最小的机器作为master就好。
负载均衡 把ZooKeeper作为一个服务的注册中心,在其中登记每个服务,每台服务器知道自己是属于哪个服务,在服务器启动时,自己向所属服务进行登记,这样,一个树形的服务结构就呈现出来了,根据这样一个树形服务结构,RPC服务的消费者可以很轻松的找到它所需求的服务信息。同时在一个service节点下可以注册多个业务逻辑相同的服务,以实现负载均衡。
zookeeper实现负载均衡其实原理很简单,zookeeper 的数据存储类似于liunx的目录结构。首先建立servers节点,并建立监听器监视servers子节点的状态(用于在服务器增添时及时同步当前集群中服务器列表)。
在每个服务器启动时,在servers节点下建立子节点worker server(可以用服务器地址命名),并在对应的字节点下存入服务器的相关信息。这样,我们在zookeeper服务器上可以获取当前集群中的服务器列表及相关信息,可以自定义一个负载均衡算法,在每个请求过来时从zookeeper服务器中获取当前集群服务器列表,根据算法选出其中一个服务器来处理请求。
分布式锁 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现,如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往需要互斥来防止彼此干扰来保证一致性。
3、zookeeper的基本概念
3.1、角色介绍
ZooKeeper中包含Leader、Follower和Observer三个角色;
通过一次选举过程,被选举的机器节点被称为Leader,Leader机器为客户端提供读和写服务; Follower和Observer是集群中的其他机器节点,唯一的区别就是:Observer不参与Leader的选举过程。
Leader主要有三个功能:
恢复数据;维持与follower的心跳,接收follower请求并判断follower的请求消息类型;follower的消息类型主要有PING消息、REQUEST消息、ACK等消息,根据不同的消息类型,进行不同的处理。
系统模型
当leader崩溃或者leader失去大多数的follower,这时候zk进入恢复模式,恢复模式需要重新选举出一个新的leader,让所有的 Server都恢复到一个正确的状态。
Zk的选举算法有两种:
一种是基于basic paxos实现的,另外一种是基于fast paxos算法实现的。
系统默认的选举算法为fast paxos。
3.2、 Zookeeper的数据节点
Zookeeper维护一个类似文件系统的数据结构:
每个子目录项如 NameService 都被称作为 znode,和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,唯一的不同在于znode是可以存储数据的。
有四种类型的znode:
PERSISTENT-持久化目录节点 客户端与zookeeper断开连接后,该节点依旧存在
PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号。
EPHEMERAL-临时目录节点 客户端与zookeeper断开连接后,该节点被删除
EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点 客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号
3.2.1、Zookeeper的数据同步的特点
最终一致性: client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。
可靠性: 具有简单、健壮、良好的性能,如果消息被到一台服务器接受,那么它将被所有的服务器接受。
实时性: Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。
原子性: 更新只能成功或者失败,没有中间状态。
3.2.2、Zookeeper的数据广播
Zookeeper 的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。
Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。
当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。
状态同步保证了leader和Server具有相同的系统状态。
结束!!!
行动是自己的,控制好它,你就能任游东西。怕只怕,思想不是自己的,千行万动,还只是在原地踏步。
标签:
相关推荐:
最新新闻:
- Win10系统蓝屏常见案例分享 win10系统蓝屏原因查看及修复操作过程
- Zookeeper是什么?Zookeeper分布式服务框架的应用场景管理_天天速看
- 传统JRPG《Kay's Destiny》上架steam 预定年内发售:热头条
- win7系统怎么操作关闭交互式服务检测?出现交互式服务检测原因及解决方法
- Epic 2022年度回顾:游戏商城用户支出达8.2亿美元
- 尼康D300说明书是什么?尼康D300相机参数
- 电脑屏幕保护色怎么设置?电脑屏幕保护色设置技巧
- 天天微速讯:卡普空公布《生化危机4:重制版》介绍:拯救碍事梨 就在明天!
- 虚拟示波器是什么?虚拟示波器有什么作用?
- 修复内存不能为read怎么修复?修复内存不能为read方法教程
- ntldr丢失怎么处理?u盘启动引导修复工具修复ntldr丢失教程
- 什么是自锁电路?怎么做三极管自锁电路?自锁电路工作原理是什么?
- 低格式化是什么意思?低格和普通格式化有何区别?
- .doc是什么文件?.doc文件怎么打开?.doc文件又是如何加密?
- 硬盘分区魔术师是什么软件?硬盘分区魔术师软件特性
- Everest怎么看温度?Everest使用教程及安装方法
- u盘写保护怎么去掉?u盘会被写保护的原因及去掉的教程
- appleappstore怎么设置?appleappstore重启电脑方法 世界要闻
- 360隔离沙箱打不开怎么办?360隔离沙箱打不开的解决方案
- RPGViewer是什么工具?RPGViewer使用方法及功能介绍
- 快来抢购!《死亡搁浅:导演剪辑版》现超低价
- 环球观速讯丨《火焰纹章:结合》DLC第四弹“邪龙之章”公布 4月5日上线
- 三极管在电路有什么作用?三极管的选用技巧
- 守望先锋有什么配置要求?守望先锋最低配置要求?
- USBKiller破解版怎么用?USBKiller破解版安装方法
- 怎样在外置声卡用kx驱动?电脑kx驱动安装教程
- 亚马逊云游戏服务Luna现已在英、德和加拿大推出
- 每日看点!n=4,k=2classSolution 如何遍历解空间树?
- 显存位宽是什么意思?显卡位宽的定义及显卡位宽的类型
- 避免尴尬!iOS 16.4将升级车祸检测
- Redmi Note 12 Turbo将至!卢伟冰:焊的门谁都搬不走
- CSGO2正式官宣:起源2引擎来了!
- iPhone 14 Pro电池惨被小米13 Pro超越-全球新消息
- 小米Redmi Note 12 Turbo正面照预热:采用超细四窄边、无屏幕支架设计
- 养老保险缴费年限不足15年怎么办,等到退休时可以一次性补缴? 环球微资讯
- 《CS2》地图对比:全面革新 起源2加持更清晰更明亮
- Epic老板:元宇宙已经成真 苹果将是开源最大阻碍
- 《生化4重制版》典藏版开箱 手持霰弹枪的里昂雕像-全球看热讯
- 《红霞岛》曾有PS5版本 微软收购B社后就被砍掉了|天天报道
- 《莱莎的炼金工房3》今日正式发售 首弹DLC同步上线
- tmp是什么文件?tmp文件删除后有没有什么影响?
- 手机OTG是什么东西?OTG有什么作用?
- hdtune是什么怎么用?hdtune可以修复硬盘吗?
- pr是什么?pr软件有什么功能?
- 如何卸载诺顿Norton?卸载诺顿Norton的方法步骤
- 超级兔子清理王怎么卸载?超级兔子清理王使用方法及清理技巧
- uu加速器连不上服务器如何解决?失败原因及解决方法
- sd卡格式化修复工具 sd卡格式化修复工具micro常见问题及解决方法
- 英雄联盟更新失败怎么处理?lol自动更新出错原因分析
- msf文件夹是什么?以msf结尾的文件又是什么情况?
- 环球快资讯:分析师称索尼在动暴收购案中失控 错过多次难得机会
- Netflix原创动画《拳愿阿修罗》第二季主艺图 确定9月发布|世界速递
- 萧子升结婚_萧子升与陶斯咏
- 《星际战甲》开发商新作《Soulframe》首曝演示
- 比尔·盖茨点赞GPT:这是1980年以来最革命性的技术进步_环球讯息
- 运动听歌 小米骨传导耳机589元_全球热推荐
- 天天快看:自动感应刹车灯48元
- 听说这里买游戏可以抽显卡和D5内存条!快来看看
- 软路由神器 零刻准系统795元:观点
- 全球热推荐:《剑灵》开发商新作《Project M》公布全新预告
- 《地平线:西之绝境》“燃烧海岸”预购宣传片_每日信息
- 环球微头条丨《战神》系列18周年 玩家:快重制!我钱包准备好了
- 世嘉官宣:《索尼克:未知边境》销量突破300万套_视点
- Epic Games展示次世代图形虚幻5.2技术演示
- 《结城友奈是勇者 花结的闪光》追加插画剧情|焦点消息
- 别再用Win10/11自带截图工具了!存可怕漏洞:裁剪内容可被还原
- 省电神器 中兴随身4G WiFi38元
- 有缓存 梵想顶配PCIe4固态2T 659元 全球速递
- 天天热头条丨iOS 17将支持第三方应用商店:苹果妥协了
- 关注:Nvidia将为数据中心带来双GPU
- 当前看点!中路财产保险淄博中心支公司一团队经理被警告并被罚款!
- 臭脸女孩子也可以性感可爱 戴卡奥特曼女主村山优香
- 天天微动态丨时光如过隙 今天是《战神》发售18周年
- 全球讯息:哪些动漫已经被文化部封掉了
- 环球消息!育碧《阿凡达》预购奖励泄露 游戏宣发或将开始