课程大纲
第1章 Dubbo——高性能RPC通信框架
1 应用架构演进过程
1.1 单体应用
1.2 分布式应用
2 Dubbo简介
2.1 Dubbo的发展
2.2 Dubbo是什么
2.3 Dubbo解决什么问题
2.4 谁在使用Dubbo
2.5 Dubbo后续的规划
3 Dubbo总体大图
3.1 Dubbo总体分层
3.2 Dubbo核心组件
3.3 Dubbo总体调用过程
第2章 开发款Dubbo应用程序
1 配置开发环境
1.1 下载并安装JDK
1.2 下载并安装IDE
1.3 下载并配置Maven
1.4 下载并配置ZooKeeper
1.5 使用IDEA调试Dubbo源码
2 基于XML配置实现
2.1 编写Echo服务器
2.2 编写Echo客户端
3 基于注解实现
3.1 基于注解编写Echo服务器
3.2 基于注解编写Echo客户端
4 基于API实现
4.1 基于API编写Echo服务器
4.2 基于API编写Echo客户端
5 构建并运行
第3章 Dubbo注册中心
1 注册中心概述
1.1 工作流程
1.2 数据结构
1.3 ZooKeeper原理概述
1.4 Redis原理概述
2 订阅/发布
2.1 ZooKeeper的实现
2.2 Redis的实现
3 缓存机制
3.1 缓存的加载
3.2 缓存的保存与更新
4 重试机制
5 设计模式
5.1 模板模式
5.2 工厂模式
第4章 Dubbo扩展点加载机制
1 加载机制概述
1.1 Java SPI
1.2 扩展点加载机制的改进
1.3 扩展点的配置规范
1.4 扩展点的分类与缓存
1.5 扩展点的特性
2 扩展点注解
2.1 扩展点注解:@SPI
2.2 扩展点自适应注解:@Adaptive
2.3 扩展点自动激活注解:@Activate
3 ExtensionLoader的工作原理
3.1 工作流程
3.2 getExtension的实现原理
3.3 getAdaptiveExtension的实现原理
3.4 getActivateExtension的实现原理
3.5 ExtensionFactory的实现原理
4 扩展点动态编译的实现
4.1 总体结构
4.2 Javassist动态代码编译
4.3 JDK动态代码编译
第5章 Dubbo启停
1 配置解析
1.1 基于schema设计解析
1.2 基于XML配置原理解析
1.3 基于注解配置原理解析
2 服务暴露的实现原理
2.1 配置承载初始化
2.2 远程服务的暴露机制
2.3 本地服务的暴露机制
3 服务消费的实现原理
3.1 单注册中心消费原理
3.2 多注册中心消费原理
3.3 直连服务消费原理
4 优雅停机原理解析
第6章 Dubbo远程调用
1 Dubbo调用介绍
2 Dubbo协议详解
3 编解码器原理
3.1 Dubbo协议编码器
3.2 Dubbo协议解码器
4 Telnet调用原理
4.1 Telnet指令解析原理
4.2 Telnet实现健康监测
5 ChannelHandler
5.1 核心Handler和线程模型
5.2 Dubbo请求响应Handler
5.3 Dubbo心跳Handler
第7章 Dubbo集群容错
1 Cluster层概述
2 容错机制的实现
2.1 容错机制概述
2.2 Cluster接口关系
2.3 Failover策略
2.4 Failfast策略
2.5 Failsafe策略
2.6 Failback策略
2.7 Available策略
2.8 Broadcast策略
2.9 Forking策略
3 Directory的实现
3.1 总体实现
3.2 RegistryDirectory的实现
4 路由的实现
4.1 路由的总体结构
4.2 条件路由的参数规则
4.3 条件路由的实现
4.4 文件路由的实现
4.5 脚本路由的实现
5 负载均衡的实现
5.1 包装后的负载均衡
5.2 负载均衡的总体结构
5.3 Random负载均衡
5.4 RoundRobin负载均衡
5.5 LeastActive负载均衡
5.6 一致性Hash负载均衡
6 Merger的实现
6.1 总体结构
6.2 MergeableClusterInvoker机制
7 Mock
7.1 Mock常见的使用方式
7.2 Mock的总体结构
7.3 Mock的实现原理
第8章 Dubbo扩展点
1 Dubbo核心扩展点概述
1.1 扩展点的背景
1.2 扩展点整体架构
2 RPC层扩展点
2.1 Proxy层扩展点
2.2 Registry层扩展点
2.3 Cluster层扩展点
3 Remote层扩展点
3.1 Protocol层扩展点
3.2 Exchange层扩展点
3.3 Transport层扩展点
3.4 Serialize层扩展点
4 其他扩展点
第9章 Dubbo高级特性
1 Dubbo高级特性概述
2 服务分组和版本
3 参数回调
4 隐式参数
5 异步调用
6 泛化调用
7 上下文信息
8 Telnet操作
9 Mock调用
10 结果缓存
第10章 Dubbo过滤器
1 Dubbo过滤器概述
1.1 过滤器的使用
1.2 过滤器的总体结构
2 过滤器链初始化的实现原理
3 服务提供者过滤器的实现原理
3.1 AccessLogFilter的实现原理
3.2 ExecuteLimitFilter的实现原理
3.3 ClassLoaderFilter的实现原理
3.4 ContextFilter的实现原理
3.5 ExceptionFilter的实现原理
3.6 TimeoutFilter的实现原理
3.7 TokenFilter的实现原理
3.8 TpsLimitFilter的实现原理
4 消费者过滤器的实现原理
4.1 ActiveLimitFilter的实现原理
4.2 ConsumerContextFilter的实现原理
4.3 DeprecatedFilter的实现原理
4.4 FutureFilter的实现原理
第11章 Dubbo服务治理平台
1 服务治理平台总体结构
2 服务治理平台的实现
第12章事务
1事务基础
1.1 什么是事务
1.2 本地事务
1.3 分布式事务
2.常见的分布式事务解决方案
2.1 基于XA协议的两阶段提交
2.2 消息事务+最终一致性
3 TCC 分布式事务模型
3.1 主业务服务
3.2 从业务服务
3.3 业务活动管理器
第13章dubbo版本管理和灰度发布
dubbo负载均衡
如何改变服务权重
configurators机制
灰度发布方案
第14章 Dubbo服务化最佳实践
推荐用法
容量规划
性能度量