授课内容 | |
第一单元 微服务常用架构 | 基于SpringCloud的微服务技术框架 1. Spring Cloud简介 2. Spring Boot简介 最简版的微服务架构 1. 服务注册与发现Spring Cloud Eureka 2. 服务网关Spring Cloud Zuul 3. 微服务及其相互调用Spring Cloud Ribbon/Feign 4. 配置管理 Spring Cloud Config |
第二单元 服务注册与发现 | 服务注册与发现的概念与作用 实现服务注册与发现的方案 1. Dubbo的简介 2. Zookeeper的简介 3. ETCD的简介 4. Netflix Eureka的简介 Spring Cloud Eureka方案 1. Spring Cloud Eureka的系统架构 2. Eureka Server的设计 3. Eureka Client的设计 4. 服务发现的设计 Ø 使用ribbon的设计 Ø 使用feign的设计 5. 熔断机制 Ø 断路器设计模式 Ø 线程池隔离、优雅降级与熔断 Ø Hystrix的断路器设计 练习:使用Eureka构建微服务系统 1. Eureka Server 2. Eureka Client 3. 使用ribbon/feign进行微服务间调用 4. 设计熔断器 |
第四单元 微服务层的设计 | 微服务架构的6种设计模式 1. 聚合模式 案例:电商网站购物功能的设计 Ø 微服务前后端分离的设计 Ø 分布式事务的两阶段提交 Ø TCC方案与阿里GTS Ø 采用分布式事务解决跨库的事务操作 案例:电商网站下单服务的设计 单一职责原则与领域驱动设计 Ø 互联网纵向切分在微服务的实现 Ø 纵向切分应当注意的设计问题 Ø 避免跨库关联查询的设计 2. 代理模式 案例:电商网站支付功能的设计思路 案例:电商网站多渠道支付的微服务实现 3. 链式模式 4. 分支模式 5. 数据共享模式 6. 异步消息模式 案例:12306的异步化操作 案例:电商网站异步化操作的微服务实现 微服务的粒度 1. 微服务的拆分原则 2. 微服务的拆分方式 微服务设计的反模式 1. 太多数据迁移 2. 数据共享反模式 3. 频繁交互反模式 探讨:如何解决微服务接口太多的问题 |
第五单元 服务网关 | 服务网关在微服务架构中的作用 1. 多渠道用户接入 微服务前后端分离的架构设计 2. 微服务的负载均衡 负载均衡的难题:Session管理 3. 路由网关(zuul) 蓝绿发布、滚动发布、灰度发布与金丝雀发布 权限验证与安全保障 智能路由与服务迁移 过滤器的设计与配置 4. 流量控制与节流 练习:设计服务网关、路由网关与断路器 |
第六单元 微服务开发实战演练 | 用实际项目演练微服务开发的整个过程 1. 演练:从单体应用到微服务的设计转型过程 2. 微服务开发的组织形式:父项目与基础平台 3. 微服务开发的组织形式:多环境配置 4. 前端、聚合层、原子服务层的微服务设计 5. 服务网关的设计:用户权鉴与智能路由 演练在真实项目中微服务的性能测试 1. 断路器监控Turbine及其应用实践 2. 链路跟踪Zipkin与微服务路由优化的应用实践 3. 金丝雀测试与全链路压测应用实践 |
课程对象
中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。
课程特色
本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握微服务架构设计的过程,以及从传统架构向微服务改造的过程。同时,通过大量真实的案例,讲解许多公司在开展微服务转型过程中面临的难题、解决的思路,以及最终的设计。