【zookeeper特点和集群架构】

这篇具有很好参考价值的文章主要介绍了【zookeeper特点和集群架构】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Zookeeper介绍

ZooKeeper 是一个开源的分布式协调框架,是Apache Hadoop 的一个子项目,主要用来解决分
布式集群中应用系统的一致性问题。Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性
服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。
官方:https://zookeeper.apache.org/

ZooKeeper本质上是一个分布式的小文件存储系统(Zookeeper=文件系统+监听机制)。提供基
于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理,从而用来维护和
监控存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理、统
一命名服务、分布式配置管理、分布式消息队列、分布式锁、分布式协调等功能。
Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责
存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper
就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。

2、ZooKeeper数据结构

ZooKeeper 数据模型的结构与 Unix 文件系统很类似,整体上可以看作是一棵树,每个节点称做一个
ZNode。

ZooKeeper的数据模型是层次模型,层次模型常见于文件系统。层次模型和key-value模型是两种主流
的数据模型。ZooKeeper使用文件系统模型主要基于以下两点考虑
1文件系统的树形结构便于表达数据之间的层次关系
2文件系统的树形结构便于为不同的应用分配独立的命名空间( namespace )

ZooKeeper的层次模型称作Data Tree,Data Tree的每个节点叫作Znode。不同于文件系统,每个节
点都可以保存数据,每一个 ZNode 默认能够存储 1MB 的数据,每个 ZNode 都可以通过其路径唯一
标识,每个节点都有一个版本(version),版本从0开始计数。

一个znode可以使持久性的,也可以是临时性的:

  1. 持久节点(PERSISTENT): 这样的znode在创建之后即使发生ZooKeeper集群宕机或者client宕机
    也不会丢失。
  2. 临时节点(EPHEMERAL ): client宕机或者client在指定的timeout时间内没有给ZooKeeper集群
    发消息,这样的znode就会消失。
    如果上面两种znode具备顺序性,又有以下两种znode :
  3. 持久顺序节点(PERSISTENT_SEQUENTIAL): znode除了具备持久性znode的特点之外,znode
    的名字具备顺序性。
  4. 临时顺序节点(EPHEMERAL_SEQUENTIAL): znode除了具备临时性znode的特点之外,zorde
    的名字具备顺序性。
    zookeeper主要用到的是以上4种节点。
  5. Container节点 (3.5.3版本新增):Container容器节点,当容器中没有任何子节点,该容器节点
    会被zk定期删除(定时任务默认60s 检查一次)。 和持久节点的区别是 ZK 服务端启动后,会有一个单
    独的线程去扫描,所有的容器节点,当发现容器节点的子节点数量为 0 时,会自动删除该节点。可以
    用于 leader 或者锁的场景中。
  6. TTL节点: 带过期时间节点,默认禁用,需要在zoo.cfg中添加 extendedTypesEnabled=true 开
    启。 注意:TTL不能用于临时节点

3、Zookeeper集群架构

3.1 集群角色
Leader: 领导者
事务请求(写操作)的唯一调度者和处理者,保证集群事务处理的顺序性;集群内部各个服务器的
调度者。对于create、setData、delete等有写操作的请求,则要统一转发给leader处理,leader需要
决定编号、执行操作,这个过程称为事务。
Follower: 跟随者
处理客户端非事务(读操作)请求(可以直接响应),转发事务请求给Leader;参与集群Leader选举
投票。
Observer: 观察者
对于非事务请求可以独立处理(读操作),对于事务性请求会转发给leader处理。Observer节点接收
来自leader的inform信息,更新自己的本地存储,不参与提交和选举投票。通常在不影响集群事务处
理能力的前提下提升集群的非事务处理能力。文章来源地址https://www.toymoban.com/news/detail-766758.html

到了这里,关于【zookeeper特点和集群架构】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RocketMQ集群的特点以及各种集群模式的介绍

    RockerMQ集群架构: Producer(生产者)需要将消息数据存储到MQ消息队列中,Producer会向NameServer询问我应该将消息数据存储在哪一个Broker中,NameServer会给Producer分配一个Broker,然后由Producer将消息数据存储在指定的Broker中。 每一个Broker都会将自己的信息主动上报到NameServer,由N

    2024年02月11日
    浏览(78)
  • 【zookeeper】zookeeper集群安装

    实际的生产使用中,我们一般推荐搭建奇数多节点的zookeeper集群,如3/5/7。在本次测试中,我使用了centos7 三台服务器搭建,复用了我搭建k8s集群的环境,如下表。 IP hostname 192.168.2.140 k8s-m1 192.168.2.141 k8s-m2 192.168.2.142 k8s-m3 此次部署的zookeeper版本为3.7.1 由于zookeeper服务需要java,

    2024年02月10日
    浏览(48)
  • Zookeeper集群搭建记录 | 云计算[CentOS7] | Zookeeper集群搭建

    本系列文章索引以及一些默认好的条件在 传送门 在配置Zookeeper之前,建议先配置Hadoop集群,具体的操作流程博主已更新完成,链接 Zookeeper的安装包版本不太相同,大致分为有编译过的和没有编译过的(如有错请留言指正 一般情况下对于我们在解压配置就能使用的情况下,我

    2024年02月01日
    浏览(43)
  • Zookeeper 和 Kafka 工作原理及如何搭建 Zookeeper集群 + Kafka集群

    目录 1 Zookeeper 1.1 Zookeeper 定义 1.2 Zookeeper 工作机制 1.3 Zookeeper 特点 1.4 Zookeeper 数据结构 1.5 Zookeeper 应用场景 1.6 Zookeeper 选举机制 2 部署 Zookeeper 集群 2.1 安装前准备 2.2 安装 Zookeeper 3 Kafka 3.1 为什么需要消息队列(MQ) 3.2 使用消息队列的好处 3.3 消息队列的两种模式 3.4 Kafka 定义

    2024年02月08日
    浏览(32)
  • Zookeeper集群 + Fafka集群

    目录 第一章Zookeeper 概述 1.1.Zookeeper 定义 1.2.Zookeeper 工作机制 1.3.Zookeeper 特点 1.4.Zookeeper 数据结构 1.5.Zookeeper 应用场景 1.6.Zookeeper 原理之选举机制 1.7.部署 Zookeeper 集群 总结 第二章消息队列概述 2.1消息队列需求原因 2.2消息队列的优点 2.3消息队列的两种模式 第三章Kafka 概念以

    2023年04月15日
    浏览(26)
  • Zookeeper集群 + Kafka集群

    目录 一、概述 (一)Zookeeper概述 1.Zookeeper 定义 2.Zookeeper 工作机制 3.Zookeeper 特点 (1)组成 (2)全局数据一致 (3)更新请求顺序执行 (4)数据更新原子性 (5)实时性 4.Zookeeper 数据结构 5.Zookeeper 应用场景 (1)统一命名服务 (2)统一配置管理 (3)统一集群管理 (4)服

    2024年01月24日
    浏览(29)
  • zookeeper集群+kafka集群

    Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已

    2024年02月16日
    浏览(28)
  • 互联网应用的特点及其架构演变

    传统项目: OA、HR、CRM等系统 目标人群:企业员工 特点:项目使用人数较少、并发量相对较少、用户忍耐力较高 互联网项目: 淘宝、天猫、京东 目标人群:互联网 特点:使用人数躲,访问量大,更注重 用户体验 :美观、功能、速度、稳定性 对于互联网项目而言,后端工

    2024年02月06日
    浏览(42)
  • 什么是小程序?特点和技术架构详解

    小程序是一种新的移动应用程序格式,一种结合了 Web 技术以及客户端技术的混合解决方案。 传统的原生应用运行起来比较流畅,但是也有天然的基因缺陷: 不支持动态化,发布周期长 需要开发Android和iOS两套代码,开发成本高 相比较之下,Web 技术有这方面的优势,但是其

    2024年01月19日
    浏览(43)
  • 云存储架构的技术特点与三个发展方向

    概述 云计算被称为是继个人PC、互联网之后的第三次信息化革命,不仅实现了IT技术的革新,更是IT商业模式和服务模式的一次重大变革。越来越多的商业活动几乎都采用云计算技术作为后台支撑,实现按需服务,按需计费。 我国对云计算的产业高度重视,已把云计算产业的

    2024年02月01日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包