Zookeeper源码分析 Zookeeper源码分析 Zookeeper源码分析 Zookeeper源码分析

 

 

 

Zookeeper源码分析
Zookeeper作为阿里系与Dubbo完美搭配的注册中心,其江湖地位毋容置疑。本课程以最开始图解Zookeeper框架的架构和组件作为课程总起,进而“分而治之”各个击破Zookeeper框架的各个组件源码,如:序列化,数据模型,持久化,Client和Server架构、选举流程等,最后通过总结快速梳理所得。

适合人群
有代码洁癖的中高级java工程师
从事分布式系统设计和开发的极客
认可“源码驱动式”学习方式的学生党
技术储备要求
Java基础扎实,对IO/NIO网络通信等知识有一定了解
了解序列化、持久化、多线程
了解zookeeper的一般使用命令
章节目录:
第1章 【开宗明义】纵观全貌
通过思维导图建立全课程骨架,了解课程丰富的知识点。

 

1-1 Zookeeper源码序章【只学有用的】试看
1-2 环境搭建
1-3 分布式环境搭建1
1-4 分布式环境搭建2
第2章 ZooKeeper之序列化组件源码解析【透视现象,直击本质】
本章内容主要介绍了序列化的目的、序列化的思想,同时对zookeeper序列化jute与java serialized进行了比较,能够更深刻的了解到序列化的本质,以及后续工作中选择序列化的标准。

 

2-1 章序-探索java-serialized序列化本质【抛砖引玉】
2-2 jute序列化其实可以很简单【简单但不失精要】
2-3 大PK:zk-jute VS java-serialized【没有对比就没有伤害】试看
2-4 序列化-核心归纳【提纲掣领】
第3章 系统模型【九层之台,起于垒土】
本章内容从节点信息、权限信息、通知机制等三个方面介绍了zookeeper的基础数据模型,并了解节点树形结构的构建、权限缓存的实现方式、通知机制的触发与注册

 

3-1 章序-数据模型【抛砖引玉】
3-2 概论-watch通知机制
3-3 概论-ACL-part1
3-4 概论-ACL-part2
3-5 深度探索datatree节点处理流程
3-6 datatree持久化的核心-序列化与反序列化
3-7 系统模型-核心归纳【提纲掣领】
第4章 持久化【高手过招必备】
本章详细地介绍了zookeeper的两种持久化方式FileTxnLog和Snapshot,同时介绍了两者如何协同完成数据的持久化,以及数据快速内存化,实现宕机时不丢数据,宕机后快速恢复的目的

 

4-1 章序-持久化学习纲要与目的【抛砖引玉】
4-2 持久化-概览
4-3 图解持久化类关系【千言万语不如一图奏效】试看
4-4 持久化-不可不知道的snapshot
4-5 持久化-snapshot-加载也很有讲究
4-6 持久化-FileTxnLog之数据加载与截断
4-7 持久化-FileTxnSnapLog之持久化与数据加载
4-8 持久化-核心归纳【提纲掣领】
第5章 客户端设计 【多快稳准是不变的要求】
本章主要介绍了如何在不使用框架的前提下设计一个长连接的网络客户端,同时包括如何维持长连接、客户端api如何实现异步和同步、网络通信结构

 

5-1 章序-客户端【抛砖引玉】
5-2 图解客户端核心类关系【一图胜千言】
5-3 一步步搞懂客户端的启动【UML时序图理清流程】
5-4 客户端-向高手学习同步与异步的实现方式
5-5 客户端-小小的watch与背后的消息流转-事件注册与触发
5-6 客户端-核心技术归纳【提纲掣领】
第6章 服务器启动 【由浅入深,先学好单机版,才能掌握集群版】
本章分别从单机和集群两种角度来介绍了zookeeper的启动步骤,包括数据的快速加载、清理机制;同时讲解下在单机版服务启动后,事务请求与非事务请求的流程分析以及通知机制

 

6-1 服务端-概要说明
6-2 服务端-单机版服务启动流程
6-3 服务端-集群版服务启动流程,其实没有想象的那么难
6-4 服务端-责任链还是很普遍的,单机版业务处理流程
6-5 服务端-单机版非事务请求分析
6-6 服务端-单机版事务请求分析
6-7 服务端-全流程贯通watch事件与注册
6-8 服务端-核心技术汇总
第7章 会话管理 【无处不在的会话其实没那么难】
服务端是如何管理客户端;长连接的客户端又是如何保持通信链路激活的;出现通信掉链的情况又是如何检测的;服务端又是如何清理僵尸客户端的;会话,一个服务端避不开的话题;本章着重介绍了zookeeper会话的状态、创建、管理以及清理…

 

7-1 会话创建
7-2 会话管理策略
7-3 会话管理策略-源码分析
7-4 会话激活
7-5 会话-核心技术汇总
第8章 选举流程 【Zookeeper无法避开的话题】
本章主要介绍了zookeeper的重要课题-选举流程fastleader。fastleader的到底是什么,各个角色到底是如何选主,选主的标准是什么,选主的实现方式是什么

 

8-1 选举流程分析
8-2 主要类说明
8-3 快速选举源码分析-流程分析
8-4 快速选举源码分析-流程分析2
8-5 快速选举源码分析-网络分析
8-6 选举-课程总结
第9章 业务处理 【看似风平浪静,实则暗流涌动】
选举后leader、follower、observer三个角色的数据如何实现同步,事物请求和非事物请求在不同节点下是如何处理的,一个事物请求在不同节点之间到底发生了什么;本章分别从选举后初始化的数据同步、运行期业务处理以及运行期间的链接激活等几个方面着手,讲述了leader、follower、observer在不同场景下所扮演的角色…

 

9-1 概要说明
9-2 数据同步与初始化-概览
9-3 数据同步之-Learner分析
9-4 数据同步之-LearnerHandler分析
9-5 二阶段提交与zookeeper
9-6 简析二阶段提交与zookeeper
9-7 各requestprocessor解析
9-8 Leader事务请求处理分析
9-9 Follower与Observer请求处理分析
9-10 本章核心汇总
第10章 Zookeeper的分布式锁的实现
本章先介绍分布式锁相关知识,进一步讲解Zookeeper分布式锁的实现,最后进行优化。

 

10-1 分布式锁概论
10-2 分布式锁源码实现
10-3 分布式锁源码实现2
10-4 分布式锁的优化
第11章 Zookeeper客户端Curator
本章讲解Zookeeper客户端Curator。从基础的CURD开始进阶到watch通知机智,最后对前面的分布式锁进行复盘。

 

11-1 初识curator
11-2 Curator增删改查
11-3 watch通知
11-4 再论分布式锁
第12章 服务端拓展
本章节补充服务端拓展相关知识点: 服务端启动与加载调试、非事务请求调试、服务端事务请求调试、客户端消息发送调试、 客户端事件触发调试、 watch事件服务端处理调试等

 

12-1 服务端启动与加载调试
12-2 服务器端非事务请求调试
12-3 服务端事务请求调试
12-4 客户端消息发送调试
12-5 客户端事件触发调试
12-6 watch事件服务端处理调试
第13章 终章回首
进行全课程的总结梳理。

 

13-1 全课程总结
本课程持续更新中
超清,完整,加入自学IT网会员一起学习吧~
自学it666 » Zookeeper源码分析

常见问题FAQ

课程清晰度怎么样?
本站所有课程均为超清原画!
视频资料都完整吗?
#是的,完整,官方同步体验!
年费会员是什么意思?
#是指开通年费会员后站内所有资源一年内均可免费畅想学习下载!包括后续上传的所有课程!
终身会员是什么意思?
#是指开通终身会员后站内所有课程终身均可免费畅想学习下载,包括后续上传的所有课程!另外赠送网盘会员SVIP账号,畅想下载不限速!
终身会员赠送网盘SVIP账号吗?怎么领取呢?
#是的!终身会员赠送网盘SVIP账号,开通终身会员后找客服发一下站内会员用户名领取会员福利即可!
© 2018 Theme by - 自学IT网 & WordPress Theme. All rights reserved 粤ICP备569812478号