Dubbo因为良好的设计和扩展性受到许多开发者的欢迎,然而当开发者需要深入了解Dubbo底层的架构设计和实现的时候,往往会有些不知所措。
网上也有许多爱好者撰写的源码分析等文章,虽有全部启发和裨益,但总觉得不够成体系。令人遗憾的是,市面上始终缺乏完整的、体系化的对Dubbo举行深入原理分析的教程;今天给大家带来一份阿里Dubbo框架技术负责人亲笔的学习教程,这份教程从Dubbo的入门,一直到开发第一款应用步伐,再扩展到Dubbo的技术生态,完整且体系的将Dubbo举行一个全面的解说,下面我们来看看教程的内容:
PS:电子版的笔记已经打包整理好,需要的朋友文末可取
总目次
Chapters 1:Dubbo 高性能 RPC通讯框架
- Dubbo的发展历史
- Dubbo是什么
- Dubbo解决什么问题
- 谁在使用Dubbo
- Dubbo后续的规划
- 单体应用
- 分布式应用
- Dubbo总体分层
- Dubbo核心组件
- Dubbo总体调用过程
Chapters 2:开发第一款Dubbo 应用步伐
- 下载并安装JDK
- 下裁并安装IDE
- 下载并配置Maven
- 下载并配置ZooKeeper
- 使用IDEA调试Dubbo源码
- 编写Echo服务器
- 编写Echo客户端
- 基于注解编写Echo服务器
- 基于注解编写Echo客户端
- 基于API编写Echo服务器
- 基于API编写Echo客户端
- 构建并运行
Chapters 3:Dubbo注册中心
- 工作流程
- 数据结构
- ZooKeeper原理概述
- Redis原理概述
- ZooKeeper的实现
- Redis的实现
- 缓存的加载
- 缓存的保存与更新
- 模板模式
- 工厂模式
Chapters 4:Dubbo扩展点加载机制
- Java SPI
- 扩展点加载机制的改进
- 扩展点的配置规范
- 扩展点的分类与缓存
- 扩展点的特性
- 扩展点注解:@SPI
- 扩展点自适应注解:©Adaptive
- 扩展点自动激活注解:©Activate
- 工作流程
- getExtension的实现原理
- getAdaptiveExtension的实现原理
- getActivateExtension的实现原理
- Extension Factory 的实现原理
- 总体结构
- Javassist动态代码编译
- JDK动态代码编译
Chapters 5:Dubbo启停原理解析
- 基于schema设计解析
- 基于XML配置原理解析
- 基于注解配置原理解析
- 配置承载初始化
- 远程服务的暴露机制
- 本地服务的暴露机制
- 单注册中心消耗原理
- 多注册中心消耗原理
- 直连服务消耗原理
- 优雅停机原理解析
Chapters 6:Dubbo远程调用
- Dubbo调用介绍
- Dubbo协议详解
- Dubbo协议编码器
- Dubbo协议解码器
- Telnet指令解析原理
- Telnet实现健康监测
- 核心Handler和线程模型
- Dubbo 哀求响应 Handler
- Dubbo 心跳 Handler
Chapters 7:Dubbo集群容错
- Cluster 层概述
- 容错机制概述
- Cluster 接口关系
- Failover 策略
- Failfast 策略
- Failsafe策略
- Fallback 策略
- Available 策略
- Broadcast 策略
- Forking 策略
- Directory总体实现
- RegistryDirectory 的实现
- 路由的总体结构
- 条件路由的参数规则
- 条件路由的实现
- 文件路由的实现
- 脚本路由的实现
- 包装后的负载平衡
- 负裁平衡的总体结构
- Random负载平衡
- RoundRobin负载平衡
- LeastActive负载平衡
- —致性Hash负载平衡
- Merger的实现
- MergeableClusterlnvoker 机制
- Mock常见的使用方式
- Mock的总体结构
- Mock的实现原理
Chapters 8:Dubbo扩展点
- 扩展点的背景
- 扩展点整体架构
- Proxy层扩展点
- Registry层扩展点
- Cluster层扩展点
- Protocol层扩展点
- Exchange层扩展点
- Transport层扩展点
- Serialize层扩展点
Chapters 9:Dubbo高级特性
- 服务分组和版本
- 参数回调
- 隐式参数
- 异步调用
- 泛化调用
- 上下文信息
- Telnet利用
- Mock 调用
- 效果缓存
Chapters 10:Dubbo过滤器
- 过滤器的使用
- 过滤器的总体结构
- 过滤器链初始化的实现原理
- AccessLogFilter的实现原理
- ExecuteLimitFilter的实现原理
- ClassLoaderFilter的实现原理
- ContextFilter的实现原理
- ExceptionFilter的实现原理
- TimeoutFilter的实现原理
- TokenFilter的实现原理
- TpsLimitFilter 的实现原理
- ActiveLimitFilter的实现原理
- ConsumerContextFilter的实现原理
- DeprecatedFilter的实现原理
- FutureFilter的实现原理
Chapters 11:Dubbo注册中心扩展实践
- etcd背景介绍
- etcd数据结构设计
- 扩展Transporter 实现
- 扩展RegistryFactory 实现
- 新增JEtcdClient 实现
- 扩展FailbackRegistry 实现
- 编写单元测试
- 搭建etcd集群并在Dubbo中运行
- 单机启动etcd
- 集群启动etcd
Chapters 12:Dubbo服务管理平台
Chapters 13:Dubbo未来猜测
- Dubbo生态
- 开源现状
- 后续发展
- 云原生
- 面对的挑衅
- Service Mesh 简介
- Dubbo Mesh
本书在Dubbo的协议设计、编解码原理、线程模型等方面也做了深度分析,使读者不但知其然也能知其所以然,有助于理解分布式环境下的服务通讯范式,对问题排查也会有很大益处。
———————————感兴趣的朋友可以“转发+关注”之后私信暗号【666】即可免费领取
相信不管是初学者照旧有多年经验的资深工程师,通过这份教程的学习, 都会有所收获! |