课程介绍
在互联网+的今天,人们在PC、手机、Pad 上安装了各式各样的软件服务或APP,享受着互联网技术带来的高效和便捷。随着这些产品的高速发展,大家对高性能、稳定性、安全性、扩展性等方面有了更高的要求,而诞生于20多年前的Java平台,一直紧跟时代脉搏,兼收并蓄,持续优化,在编程领域交出最满意的答卷,最终成为现代互联网服务端开发的王者。在微服务化架构盛行的今天,我们已经可以用极低成本快速搭建满足自身业务需要的分布式服务架构,其中,Dubbo是微服务架构中的佼佼者。它虽然入门简单,但是在实际生产级开发中,也有太多值得我们去关注的技术点,比如RPC、分布式事务、性能提升、故障诊断等,有些是微服务架构中的通识,而有些是Dubbo自身架构带来的特有技能点。本次课程,我们从生产级实战的视角,带领大家一起进入Dubbo服务化架构的深水区。
学员收益
1、熟练掌握更高视野的微服务架构设计方案
2、熟悉Dubbo底层架构方案及原理
3、 熟练掌握Dubbo RPC、分布式事务、性能及故障处理方案
4、 熟练掌握Dubbo 扩展、灰度发布等方案
课程大纲
主题 | 授课内容 | |
引子 | Dubbo微服务架构生产级实践 | |
第一单元 微服务架构与模式
| 功能性与非功能性架构、微服务架构的核心要素、如何合理拆分微服务 | 1. 理解架构 1.1 功能性和非功能性 1.2 微服务架构的全面定义
2. 微服务架构的特点及弊端 2.1 提高可维护可能性(难维护) 2.2 提高可容错可能性(更易错) 2.3 提高对数据管理的可控性(增加跨服务复杂度) 2.4 "迫使"组织采用更敏捷的CI&CD(增加稳定性保障复杂度)
3. 微服务架构常见要素 3.1 注册中心 3.2 负载方案 3.3 容错处理 3.4 API网关 3.5 配置中心 3.6 微服务Trace 3.7 分布式事务
4. 如何拆分微服务 4.1 识别业务能力 4.2 识别界限上下文(与微服务的关系) 4.3 能力映射到服务时考虑数据管辖权 |
第二单元 Dubbo微服务架构实践 | Dubbo架构体系、注册中心与服务发现、RPC、流控管理等 | 5. Dubbo架构体系 5.1 Dubbo组件介绍 5.2 Dubbo底层架构 5.3 Dubbo工程搭建(基于3.x)
6. Dubbo 服务发现 6.1 Client-Based及优缺点 6.2 Nacos、Consul、Zk选型 6.3 可伸缩性的应用级服务发现
7. Dubbo RPC 7.1 Dubbo2与Dubbo3 7.2 RPC的意义与协议选择 7.3 Triple协议介绍
8. Dubbo流控管理 8.1 流控的意义 8.2 流控的一般步骤 8.3 流量管理与路由 8.4 A/B测试实践 8.5 金丝雀发布实践 8.6 蓝绿发布实践
9. Dubbo常见配置 9.1 启动配置 9.2 服务治理配置 9.3 配置中心 |
第三单元 Dubbo与分布式 | 分布式事务、扩展性实现、性能调优 | 10. 分布式事务概览 10.1 分布式事务的问题清单 10.2 分布式事务解决问题的边界 10.3 常见分布式事务解决方案
11. 分布式事务框架之Seata 11.1 Seata概览 11.2 事务模式之:XA、AT、TCC、SAGA 11.3 读写隔离机制 11.4 整合Dubbo与Seata实现分布式事务
12. Dubbo扩展 12.1 为什么需要可扩展 12.2 扩展如何实现 12.3 Dubbo与JDK SPI 12.4 实现一个热插拔的特性
13. Dubbo 性能调优 13.1 基准测试与数据 13.2 远程调用与超时配置 13.3 线程模型与调优 13.4 JVM性能调优(GC、CPU占用) |