课程大纲:
第一天 上午
一、理解微服务架构
1.微服务架构的定义
微服务架构的概念
单体应用演进中的挑战
微服务架构解决的问题
微服务架构主要特征解读
微服务与SOA和中台
实施微服务架构的挑战
实施微服务——你的问题是什么?
2.微服务整体架构
互联网架构的演进
微服务架构组成
微服务网关
微服务注册中心
微服务配置中心
微服务调用框架
微服务监控
业界微服务架构实践
第一天 下午
二、微服务设计
3.微服务架构设计
是什么架构与架构风格?
分层架构风格
六边形架构风格
微服务架构风格
服务间的松耦合
微服务的分层与分类
领域驱动与微服务设计
微服务架构设计原则
微服务架构常见设计模式
微服务粒度设计
4.微服务服务层设计
服务的构成要素
微服务设计原则
服务的无状态设计
服务的幂等设计
服务的容错设计
服务事件设计
服务间通信机制选择
第二天 上午
三、微服务开发与测试
5.微服务开发
微服务项目规范与模版
微服务接口定义描述
应用层服务实现
业务层服务实现
多资源的rest接口设计
查询接口的实现:API组合与CQRS模式
微服务异常设计
微服务日志设计
日志聚合与错误定位
API的演化与版本控制
如何处理共享库
6.微服务分布式事物方案
分布式事物相关理论
Sage事务处理模式
基于补偿的分布式事物方案
基于消息表的分布式事物方案
隔离性缺失的应对策略
LCN分布式事务组件
7.微服务的安全访问
外部访问身份认证
服务间访问身份认证
服务访问授权
服务访问审计
OAuth 2认证方案
安全的进程间通讯
第二天 下午
8.从单体应用向微服务架构迁移
迁移需要考虑的问题
迁移的若干策略
绞杀者模式
修缮者模式
数据库的拆分策略与步骤
服务与单体的协作方式
9.微服务测试
测试相关原则
微服务测试挑战
微服务测试策略
微服务单元测试
微服务接口测试
微服务集成测试
端到端测试
微服务间契约测试
10.微服务发布与部署
微服务开发与测试环境规划
发布包格式选择
代码管理策略
Docker容器介绍
将服务部署为容器
使用Kubernetes部署服务
使用jenkins构建持续发布生产线
微服务发布与滚动升级
第三天 上午
四、微服务治理
11.微服务治理
IT治理与服务治理
微服务监控内容与方式
服务负载策略与弹性伸缩
服务集群与容错
服务熔断保护
服务访问流控
服务降级
APM及调用链发展史
Google Dapper与调用链跟踪原理
调用链跟踪的整体架构
调用链跟踪实战
第三天 下午
五、使用SpringCloud实现微服务
12.SpringCloud相关组件与练习
SpringBoot与SpringCloud
练习案例介绍与准备
Eureka原理介绍
使用Eureka实现服务注册与发现
使用Ribbon实现客户端负载均衡
自定义负载均衡规则
Hystrix核心机制剖析
使用Hystrix实现容错和服务降级
使用Hystrix Dashboard实现可视化监控
使用Zuul实现微服务网关
Applo配置中心使用介绍
案例分享
13.微服务案例分享