vlambda博客
学习文章列表

那朋《ZooKeeper源码分析与实战》:掌握框架原理,精通经典应用场景

课程背景

相信每一名后端工程师都知道,分布式架构在如今这个时代有多重要。几乎任何一家知名互联网公司,面试的时候都会考察分布式技术原理,其重要性仅次于数据结构与算法。
如果你想精通分布式技术体系,那你必须先熟练掌握作为分布式应用协调框架的 ZooKeeper 。它更像机场的调度中心,协同不同程序或组件有序工作。这种兼容、协调、有序让 Zookeeper 的源码变得“非常烂”(庞大且复杂)。
如果你觉得ZooKeeper 源码看不懂、学不会、用得懵,那「ZooKeeper 源码分析与实战」这个专栏对你很有帮助,32讲就可以带你搞懂 Zookeeper 源码和经典应用场景。


海量课程免费下载!!!

也可以长按扫描下方二维码

  • 开心网课,拥有10年知识付费的专业经验,近200家网课平台,5000+的栏目,10万+的课程,超百万的价值,您要的我这里都有,帮您降低试错成本!每周都会增加新的栏目,新的课程!买课不花冤枉钱,认证开心网课!

  • 开心网课,诚挚向全网爱习学人招员募代理合伙人,在学习的同时也能有外额的收入!




专栏解读

专栏内容共 4 个模块,合计 32 篇文章,从基础知识点到底层原理全面深入地展开介绍:

  • 基础篇:介绍 ZooKeeper 的数据节点、Watch 机制、ACL 权限控制、Jute 序列化等基础知识,并结合实际工作中的应用场景帮助你强化对这些知识点的理解,为后面的学习打下基础。

  • 进阶篇:ZooKeeper 主要通过客户端与服务端的相互通信完成工作,而会话则是其中最核心的概念。诸如临时节点、Watch 监控机制等功能和特性都与客户端的会话状态紧紧相关,所以了解 Zookeeper 服务器从创建到对外提供服务的整个过程,清楚会话在 Zookeeper 服务运行过程的不同状态,以及掌握 Zookeeper 的会话管理策略和底层实现原理非常重要。

  • 高级篇:介绍了 ZooKeeper 集群的工作方式以及内部的实现原理,重点介绍了 ZooKeeper 的 Leader 群首选举算法,集群中的 Leader、Follow、Observer 3 种角色和其各自功能,更深入源码层面分析了 3 种角色处理请求的内部实现,以及相互间的通信协作机制。

  • 核心原理与实战篇:在掌握了 ZooKeeper 相关知识点的情况下,这个模块会带你学习分布式事务算法二阶段提交、三阶段提交,以及 Paxos、ZAB 协议等算法,进一步加强你对 Zookeeper 的理解,并通过大量的实战案例分析,帮助你提高在日常工作中使用 ZooKeeper 解决问题的能力。

那朋-前京东资深架构师

曾负责京东白条、金条、企业小贷等项目的架构研发工作,目前在一家知名在线教育公司担任架构师,负责公司整体的系统架构工作。
他在 Java 领域从业十年,平时喜欢研究开源项目代码,擅长分布式架构设计,对 ZooKeeper 架构以及底层实现原理,以及如何解决不同应用场景下多变的现实问题具有丰富的实践经验。

课程目录

开篇词

  • 开篇词:选择 ZooKeeper,一步到位掌握分布式开发

模块一:基础篇

  • 第01讲:ZooKeeper 数据模型:节点的特性与应用

  • 第02讲:发布订阅模式:如何使用 Watch 机制实现分布式通知

  • 第03讲:ACL 权限控制:如何避免未经授权的访问?

  • 第04讲:ZooKeeper 如何进行序列化?

  • 第05讲:深入分析 Jute 的底层实现原理

  • 第06讲:ZooKeeper 的网络通信协议详解

模块二:进阶篇

  • 第07讲:单机模式:服务器如何从初始化到对外提供服务?

  • 第08讲:集群模式:服务器如何从初始化到对外提供服务?

  • 第09讲:创建会话:避开日常开发的那些“坑”

  • 第10讲:ClientCnxn:客户端核心工作类工作原理解析

  • 第11讲:分桶策略:如何实现高效的会话管理?

  • 第12讲:服务端是如何处理一次会话请求的?

  • 第13讲:Curator:如何降低 ZooKeeper 使用的复杂性?

模块三:高级篇

  • 第14讲:Leader 选举:如何保证分布式数据的一致性?

  • 第15讲:ZooKeeper 究竟是怎么选中 Leader 的?

  • 第16讲:ZooKeeper 集群中 Leader 与 Follower 的数据同步策略

  • 第17讲:集群中 Leader 的作用:事务的请求处理与调度分析

  • 第18讲:集群中 Follow 的作用:非事务请求的处理与 Leader 的选举分析

  • 第19讲:Observer 的作用与 Follow 有哪些不同?

  • 第20讲:一个运行中的 ZooKeeper 服务会产生哪些数据和文件?

模块四:实战篇

  • 第21讲:ZooKeeper 分布式锁:实现和原理解析

  • 第22讲:基于 ZooKeeper 命名服务的应用:分布式 ID 生成器

  • 第23讲:使用 ZooKeeper 实现负载均衡服务器功能

  • 第24讲:ZooKeeper 在 Kafka 和 Dubbo 中的工业级实现案例分析

  • 第25讲:如何搭建一个高可用的 ZooKeeper 生产环境?

  • 第26讲:JConsole 与四字母命令:如何监控服务器上 ZooKeeper 的运行状态?

  • 第27讲:crontab 与 PurgeTxnLog:线上系统日志清理的最佳时间和方式

模块五:原理篇

  • 第28讲:彻底掌握二阶段提交/三阶段提交算法原理

  • 第29讲:ZAB 协议算法:崩溃恢复和消息广播

  • 第30讲:ZAB 与 Paxos 算法的联系与区别

  • 第31讲:ZooKeeper 中二阶段提交算法的实现分析

  • 第32讲:ZooKeeper 数据存储底层实现解析

结束语

  • 结束语 | 分布技术发展与 ZooKeeper 应用前景

①本站资源均由用户个人上传,仅用于试学阅读及购买课程之参考,所产生的的责任均与本站无关!

①请大家多多支持官方正版,如需要试学试看,戳【阅读原文】低价获取!

点击阅读原文,低价获取好课