栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

山东大学软件工程应用与实践——ZooKeeper

Java 更新时间:发布时间: 百科书网 趣学号

文章目录
  • 2021SC@SDUSC
  • 一、ZooKeeper综述
    • 1.ZooKeeper是什么
    • 2.ZooKeeper文件系统
    • 3.ZooKeeper主从节点同步——ZAB协议
  • 二、组内分工
  • 总结


2021SC@SDUSC
一、ZooKeeper综述 1.ZooKeeper是什么

ZooKeepe是Apache Hadoop项目下的一个子项目,是一个树形目录服务。

ZooKeeper是一个分布式的、开源的分布式应用程序的协调服务。换句话说,它是一个用来管理分布式应用程序的软件。既然它是一个管理的软件,那么它也为分布式应用程序提供了相应的管理功能服务,因而分布式应用程序可以实现数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Leader选举、分布式锁和分布式队列等功能。

ZooKeeper会封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户使用。

简单来说,ZooKeeper提供了文件系统和通知机制,并保证了顺序一致性、原子性、单一视图、可靠性和最终一致性。

2.ZooKeeper文件系统

ZooKeeper提供一个多层级的节点命名空间,节点称为znode。与文件系统不同的是,znode可以设置关联的数据,而文件系统中只有文件节点可以存放数据而目录节点不行。其中znode有默认的四个类型:
(1)PERSISTENT-持久化目录节点:除非手动删除,否则即使客户端与ZooKeeper断开连接后,该节点依然存在。
(2)EPHEMERAL-临时目录节点:临时节点的生命周期与客户端会话绑定,一旦会话失效,那么该临时节点会被删除。
(3)PERSISTENT_SEQUENTIAL-持久化顺序目录节点:与持久化目录节点类似,只是增加了顺序属性。
(4)EPHEMERAL_SEQUENTIAL-临时顺序目录节点:与临时目录节点类似,只是增加了顺序属性。

此外,ZooKeeper在内存中维护了这个树状目录结构,这个特征使得ZooKeeper不能用于存放大量的数据,每个节点的存放数据上限为1M。

3.ZooKeeper主从节点同步——ZAB协议

ZooKeeper的核心是原子广播机制,这个机制保证了各个服务端之间的同步。实现这个机制的协议叫做ZAB协议。

分布式系统中Leader负责对外部客户端的写请求,Follower负责对外部客户端的读请求和数据同步。因而产生了相应的问题:
(1)Leader如何将数据同步到各个Follower?
(2)Leader由于自身原因失效或者过半Follower失效导致Leader失效后,集群如何工作?

因此ZAB协议为了解决上面的问题而设计了两种模式,分别是广播模式和恢复模式,整个ZooKeeper在这两个模式之间切换。
(1)恢复模式:当服务启动或者在领导者失效后,ZAB进入恢复模式。当Leader被选举出来且过半Follower完成了和Leader的状态同步后,恢复模式结束。状态同步保证了Leader和Follower具有相同的系统状态。
(2)广播模式:Leader和过半Follower进行了状态同步后,进入广播模式。

持续更新中!!!

二、组内分工
总结
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/273572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号