能不能整明白分布式系统,关键在于你对Zookeeper理解有多深!

【分享】获取微信通讯录python代码形式实现 微信号”, “昵称”, “地区”, “备注”, “标签”, “签名”, “来源”5. 找到最后一个空格所在的位置(后一个就是真正的联系人了)当前微信号与上一个相同的时候,说明到底部了,可以跳出循环。3. 滚动鼠标到最顶部(防止已经滚动了一部分了)7.记录下上一个联系人的微信号。7. 无限循环按键盘下箭头。获取详情中的以下元素内容。6. 点击第一个联系人。4. 获取联系人列表。 阅读详情

01 前言

Zookeeper是一个开源的分布式协调服务,目前由Apache进行维护。Zookeeper可以用于实现分布式系统中常见的发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。它具有以下特性:

  • 顺序一致性 :从一个客户端发起的事务请求,最终都会严格按照其发起顺序被应用到Zookeeper中;
  • 原子性 :所有事务请求的处理结果在整个集群中所有机器上都是一致的;不存在部分机器应用了该事务,而另一部分没有应用的情况;
  • 单一视图 :所有客户端看到的服务端数据模型都是一致的;
  • 可靠性 :一旦服务端成功应用了一个事务,则其引起的改变会一直保留,直到被另外一个事务所更改;
  • 实时性 :一旦一个事务被成功应用后,Zookeeper可以保证客户端立即可以读取到这个事务变更后的最新状态的数据。

在很多中间件,比如Kafka、Hadoop、HBase,都用到了 Zookeeper,因此它在分布式系统里有着无可替代的地位,而且Zookeeper有如下四大设计目标(简单的数据模型、构建集群、顺序访问、高性能高可用):

  • 目标一:简单的数据模型

Zookeeper通过树形结构来存储数据,它由一系列被称为ZNode的数据节点组成,类似于常见的文件系统。不过和常见的文件系统不同,Zookeeper将数据全量存储在内存中,以此来实现高吞吐,减少访问延迟。

image.png

image.png

  • 目标二:构建集群

可以由一组Zookeeper服务构成Zookeeper集群,集群中每台机器都会单独在内存中维护自身的状态,并且每台机器之间都保持着通讯,只要集群中有半数机器能够正常工作,那么整个集群就可以正常提供服务。

image.png

image.png

  • 顺序访问

对于来自客户端的每个更新请求,Zookeeper都会分配一个全局唯一的递增ID,这个ID反映了所有事务请求的先后顺序。

  • 目标四:高性能高可用

ZooKeeper将数据存全量储在内存中以保持高性能,并通过服务集群来实现高可用,由于Zookeeper的所有更新和删除都是基于事务的,所以其在读多写少的应用场景中有着很高的性能表现。

说了这么多,其实就是一句话:能不能整明白分布式系统,ZooKeeper真的是太太重要了!

这几天在学习的时候整理了一些ZooKeeper的学习资料和笔记,个人认为还是不错,想着资源共享学习,今天就拿出来看看,相信对你而言还是有些学习价值的。

  • 《ZK开发手册》
  • 《ZooKeeper-分布式过程协同技术详解》
  • 《ZK面试:27连问》

注意:以下介绍《ZooKeeper-分布式过程协同技术详解》《ZK开发手册》《ZK面试:27连问》因为篇幅的限制,基本上是指对内容做一个大概的介绍以及目录和一些内容的截图展示,不过都是有整理原文件的,感兴趣的朋友可直接点击“ZK” 获取免费下载的方式啦!

02 《ZooKeeper-分布式过程协同技术详解》

本书适用于分布式系统的开发人员,以及使用ZooKeeper进行生产经营的应用程序运维人员。我们假设读者具备Java语言的知识,并且本书为读者提供了关于分布式系统中概念的大量背景知识,以便你更好地使用ZooKeeper。

ZooKeeper-分布式过程协同技术详解目录.png

ZooKeeper-分布式过程协同技术详解目录.png

第一部分阐述了Apache ZooKeeper这类系统的设计目的和动机,并介绍分布式系统的一些必要背景知识。

  • 第1章介绍了ZooKeeper可以做什么,以及其设计如何支撑这些任务。
  • 第2章介绍了基本概念和基本组成模块,并通过命令行工具的具体操作介绍ZooKeeper可以做什么。

第二部分阐述程序员所需要掌握的ZooKeeper库调用方法和编程技巧,虽然对系统运维人员来说也有一定价值,但也可以不选择阅读。这一部分主要以Java语言的API为主,因为Java是非常流行的开发语言,如果你之前使用其他开发语言,可以通过这一部分内容来学习基本的技术和方法调用,之后通过其他语言来实现。另外,我们也为C语言的应用开发人员提供了一章内容的开发方法。

  • 第3章介绍Java语言的API。
  • 第4章解释如何跟踪和处理ZooKeeper中的状态变更情况。
  • 第5章介绍如何在系统或网络故障时恢复应用。
  • 第6章介绍为了避免故障要注意的一些繁杂却很重要的场景。
  • 第7章介绍C语言版的API,该章也可以作为非Java语言实现的ZooKeeper API的基础,对非Java语言的开发人员非常有帮助。
  • 第8章介绍一款更高层级的封装的ZooKeeper接口。

第三部分主要适用于ZooKeeper的系统运维人员,尤其在第9章章中即便对开发人员也很有价值。

  • 第9章介绍ZooKeeper的作者们在设计时所采用的方案,这些知识对运维管理非常有帮助。
  • 第10章介绍如何对ZooKeeper进行配置。

ZooKeeper-分布式过程协同技术详解.png

ZooKeeper-分布式过程协同技术详解.png

03 《ZK开发手册》

这本ZK开发手册总共有19章,前两章是一些简介介绍,这里就不做过多的解释的了,重点在于后面的17章,一起来看看吧。

ZK开发手册.png

ZK开发手册.png

第3,4,5,6,7章分别是:基础、组件活动周期、事件监听及处理、ZK用户界面标记语言

image.png

image.png

第8,9,10,11,12,13,14,15,16章分别是数据绑定、在ZUML中使用XHTML组件集、宏组件、高级特性、性能提示、其他设备和输出格式、国际化、数据库连接、整合Hibernate

image.png

image.png

最后三章:17,18,19章分别是整合Spring、Portal整合、ZK之外

image.png

image.png

image.png

image.png

04 《ZK面试:27连问》

  1. ZooKeeper 提供了什么?
  2. Zookeeper 文件系统?
  3. ZAB 协议?
  4. 四种类型的数据节点 Znode
  5. Zookeeper Watcher 机制 -- 数据变更通知
  6. 客户端注册 Watcher 实现
  7. 服务端处理 Watcher 实现
  8. 客户端回调 Watcher
  9. ACL 权限控制机制
  10. Chroot 特性
  11. 服务器角色
  12. 会话管理
  13. Zookeeper 下 Server 工作状态
  14. 数据同步
  15. zookeeper 是如何保证事务的顺序一致性的?
  16. 分布式集群中为什么会有 Master?
  17. zk 节点宕机如何处理?
  18. zookeeper 负载均衡和 nginx 负载均衡区别
  19. Zookeeper 有哪几种几种部署模式?
  20. 集群最少要几台机器,集群规则是怎样的?
  21. 集群支持动态添加机器吗?
  22. Zookeeper 对节点的 watch监听通知是永久的吗?为什么不是永久的?
  23. Zookeeper 的 java 客户端都有哪些?
  24. chubby 是什么,和 zookeeper 比你怎么看?
  25. 说几个 zookeeper 常用的命令。
  26. ZAB 和 Paxos 算法的联系与区别?
  27. Zookeeper 的典型应用场景?

ZK面试:27连问答案.png

ZK面试:27连问答案.png

能不能整明白分布式系统,关键在于你对Zookeeper理解有多深,咱们今天分享的ZK知识就这么多,如果你没有这些笔记与资料去学习,小编这里可以免费分享给你,直接 点击“ZK” 领取下载原文件《ZooKeeper-分布式过程协同技术详解》《ZK开发手册》《ZK面试:27连问》的方式!!

image.png

 

Lammps实现甲烷与水的竞争吸附-循环不同气体分子 Lammps实现甲烷与水的竞争吸附 阅读详情

相关推荐

飞书应用开发脚手架lark-harness:从零构建企业级机器人

在构建企业级应用时,开发脚手架是提升工程效率和规范性的关键工具。其核心原理在于通过预设的项目模板、最佳实践和通用模块封装,自动化处理项目初始化、配置管理和基础架构搭建。这种技术价值在于将开发者从重复性劳动中解放出来,确保团队技术栈统一,并降低维护成本。在Node.js生态中,脚手架常与Express或Koa等Web框架结合,用于快速构建Web服务、API接口和实时事件处理系统。具体到飞书开放平台开发场景,开发者需要处理OAuth 2.0授权、事件订阅验证、消息加解密等复杂且标准的流程。lark-harnes

weixin_30703911的博客 613

Zookeeper 集群如何高可用部署?

点击上方"涤生的博客",关注我转载请注明原创出处,谢谢! 如果读完觉得有收获的话,欢迎点赞加关注。介绍Zookeeper 我想大家都不陌生,在很多场合都听到它的名字。它是...

andy_yin的专栏 1000

Python高效转换病理图像:从mrxs到SVS的完整实践指南

本文提供了使用Python将数字病理切片从mrxs格式高效转换为SVS格式的完整实践指南。针对mrxs格式兼容性差的问题,文章详细解析了基于openslide和tifffile库的核心转换流程,并重点分享了应对大内存消耗的优化方案与流式处理技巧,确保转换后的SVS文件保留多分辨率金字塔结构,兼容主流病理分析工具。

weixin_29051811的博客 550

378-Zookeeper分布式协调服务

Zookeeper是在分布式环境中应用非常广泛,它的优秀功能很多,比如分布式环境中全局命名服务,服务注册中心,全局分布式锁(针对临界区代码段的编写,假如,我们是一个分布式系统,两个服务分别运行在两台机器上,这两台机器要竞争一个资源,这个资源是不能让同时2个RPC节点去访问的,这时候需要一把分布式锁)等等。 Zookeeper相当于动物园的管理员,也负责协调各种动物之间的。 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是大数据生态中的重要组件

LINZEYU666的博客 857

Windows10下RTABMAP+T265实现三维建图

win10+rtabmap+t265扫描地形

Suxiang1997的博客 3486

UE5实现物体高亮描边效果(含UE相关源码浅析)

UE5实现物体高亮描边效果

专注GIS开发 7335

盘点Zookeeper在分布式架构中的应用

欢迎订阅**微信公众号:大数据技术架构,更多大数据基础架构,原理与实践,社区动态等。 近日了解到 Kafka 正在酝酿重大更新,可能会提供自管理的元数据仲裁机制以消除对 Zookeeper 的依赖,社区呼吁也相当强烈。那么一般而言 Zookeeper 在分布式系统中扮演什么角色?目前 Zookeeper 都应用在哪些分布式架构中?本文从 Zookeeper 可以聊起,盘点那些离不开 Zo...

Focus on Lakehouse 1168

华为OD机考双机位C卷 - 评委评分 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 评委评分 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 1751

Java基础知识——分布式系统

mvcc:MVCC(Mutil-Version Concurrency Control),就是多版本并发控制 参考资料 有两部分: undo日志: trx_id:事务id。 roll_pointer:每次对哪条聚簇索引记录有修改的时候,都会把老版本写入undo日志中。这个roll_pointer就是存了一个指针,它指向这条聚簇索引记录的上一个版本的位置,通过它来获得上一个版本的记录信息。(注意插入...

weixin_45680007的博客 532

044、镜头脏污与异物检测:产线 AOI 检测方案与 ISP 脏污补偿

文章摘要(148字) 本文针对镜头生产中的脏污检测问题,提出产线AOI检测与ISP补偿结合的解决方案。产线端采用明场、暗场、偏振三通道联合检测技术,将油污漏检率从8.3%降至0.2%。ISP端通过RAW域局部梯度分析和频域补偿算法,动态修复产线漏检的微小脏污。作者结合实战案例,详细分析了传统灰度阈值法的局限性,并给出多模态检测的代码实现要点,强调必须建立"产线拦截+终端补偿"的双重防护机制。

sundong_81的博客 230

基于ZYNQ PL的AD7606数据采集与FFT实时频谱分析:从硬件到创新实现

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKnmpgJm-1750295287594)(https://example.com/fft_plot.png)]本文涉及代码已在Xilinx ZCU102开发板与AD7606评估板上验证通过,采样率支持200KSPS@8通道,FFT计算延迟<1ms。传统MCU+DSP方案难以兼顾速度与功耗,而ZYNQ的PL+PS架构为这一问题提供了完美解决方案。本文实现的ZYNQ PL方案突破了传统处理器的性能瓶颈,通过。

QQ_778132974的博客 340

YOLOv8改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU)

本文记录的是改进YOLOv8的损失函数,将其替换成。现有研究通过利用边界框之间的几何关系来提高回归性能,但忽略了困难样本和简单样本分布对边界框回归的影响。不同检测任务中困难样本和简单样本的分布不同,对于简单样本占主导的检测任务,关注简单样本的边界框回归有助于提高检测性能;对于困难样本比例较高的检测任务,需要关注困难样本的边界框回归。,提高检测器在不同检测任务中的性能。实现的。

Limiiiing的博客 1223

当我亲手搭完ZooKeeper集群后,终于理解了什么叫高可用

刚接触 ZooKeeper 的时候,很多人都会有一种错觉:这东西好像也没什么特别的。下载压缩包、修改配置、执行启动命令,连上 2181 端口后服务就能正常运行。创建节点、读取数据、监听变化,一切看起来都很顺利。但真正开始接触 Kafka、Dubbo、HBase 或者其他分布式系统后,你会发现一个奇怪的现象。几乎所有生产环境文档里都在强调 ZooKeeper 集群,却很少有人认真讨论单机版 ZooKeeper。甚至很多企业会专门部署三台、五台甚至更多节点来维护这个服务。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

如何理解Zookeeper的顺序一致性

2017饿了么做异地多活,我的团队承担Zookeeper的异地多活改造。在此期间我听到2种不同的关于一致性的说法。一种说法是Zookeeper是最终一致性,因为由于多副本、以及保证大多数成功的Zab协议,当一个客户端进程写入一个新值,另外一个客户端进程不能保证马上就能读到这个值,但是能保证最终能读取到这个值。另外一种说法是Zookeeper的Zab协议类似于Paxos协议,并且提供了强一致性。每当...

cadem的专栏 7794

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Zookeeper原理架构

本文纯属个人笔记,通俗易懂,转载请附上原文链接!部分资料摘自网络,如有雷同,纯属巧合!Zookeeper到底是什么!?学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色。 然后看到官网那些专有名词,实在理解不了。在Zookeeper的官网上有这么一句话:ZooKeeper is a central

技术大神之路 5万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

少年:ZooKeeper学一下

ZooKeeper 了解下 少年

sowhat 2393

【狂神说Java】Double/Zookeeper初识

1什么是分布式系统?   在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;   分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。 分布式系统(distributed system)是建立在网络之上的软件系统。   首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的

闲言 3239

不懂 ZooKeeper?没关系,这一篇给你讲的明明白白

本来想系统回顾下 ZooKeeper的,可是网上没找到一篇合自己胃口的文章,写的差不多的,感觉大部分都是基于《从Paxos到ZooKeeper 分布式一致性原理与实践》写的,所以自己读了...

WantFlyDaCheng的博客 482

Eureka与Zookeeper的区别

Eureka与Zookeeper都是目前主流的服务注册中心,关于这两个注册中心如何去选择?我们就需要明白什么是CAP原则了。 首先来看一张图: CAP定理: 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得,但是三者又会存在交集。 Consistency(C):在分...

陈橙橙 1347

注册中心ZooKeeper、Eureka、Nacos对比

前言 对比之前先说一下CAP理论,因为这三个注册中心最主要区别就在这里。 CAP理论 CAP理论是分布式架构中重要理论 一致性(Consistency) (所有节点在同一时间具有相同的数据) 可用性(Availability) (保证每个请求不管成功或者失败都有响应) 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作) 关于P,在整个系统中某个部分,挂掉了,或者宕机了,并不影响整个系统的运作或者说使用, 而可用性是,某个系统的某.

weixin_40378837的博客 1万+

zookeeper

Zookeeper原理架构 标签:hadoopzookeeper 2016-04-22 11:597457人阅读评论(1)收藏举报 分类: hadoop(14) 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 本文纯属个人笔记,通俗易...

chiyueluo1783的博客 155

注册不上zookeeper无报错_不懂 ZooKeeper?没关系,这一篇给你讲的明明白白

本来想系统回顾下 ZooKeeper的,可是网上没找到一篇合自己胃口的文章,写的差不多的,感觉大部分都是基于《从Paxos到ZooKeeper 分布式一致性原理与实践》写的,所以自己读了一遍,加上项目中的使用,做个整理。加油,奥利给!前言面试常常被要求「熟悉分布式技术」,当年搞 “XXX管理系统” 的时候,我都不知道分布式系统是个啥。分布式系统是一个硬件或软件组件分布在不同的网络计算机中上,彼此之...

weixin_42525189的博客 558

Zookeeper使用详解

1、Zookeeper是什么?用来干什么? Zookeeper中文动物管理员,Zookeeper是java语言开发的,它主要用在分布式系统架构中。官方文档上这么解释Zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。我们在分布式系统架构中主要用来实现如下功能: 配制中心; 分布式锁; 服务注册; 发布订阅(消息中间件); Master选举

weixin_36741151的博客 1757

如何理解ZooKeeper的顺序一致性

如何理解ZooKeeper的顺序一致性? Sequential consistency分析 2017 饿了么做异地多活,我的团队承担 ZooKeeper 的异地多活改造。在此期间我听到 2 种不同的关于一致性的说法。 一种说法是 ZooKeeper 是最终一致性,因为由于多副本、以及保证大多数成功的 Zab 协议,当一个客户端进程写入一个新值,另外一个客户端进程不能保证马上就能读到这个值,但是能保证最终能读取到这个值。 另外一种说法是 ZooKeeper 的 Zab 协议类似于 Paxos 协议,并且提供

小熊的博客 844

不懂 ZooKeeper?这给你讲的明明白白

前言面试常常被要求「熟悉分布式技术」,当年搞 “XXX管理系统” 的时候,我都不知道分布式系统是个啥。分布式系统是一个硬件或软件组件分布在不同的网络计算机中上,彼此之间仅仅通过消息传递进...

程序IT圈 742
上一篇: 面试被问Java的四种引用却一脸懵逼?莫慌,今天一次性说清楚!
下一篇: 奥利给!啃烂这套“核心知识”+“高级面试”,成功定级腾讯JavaT4!
加班不秃顶
博客等级 码龄7年 1822粉丝 599原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值