第一部分 基础知识 | |
第一单元 微服务架构概述 | 什么是微服务架构 微服务是未来互联网发展的必然结果 1. 互联网的发展及其面临的挑战 案例:分析淘宝近十年的发展及其面临的挑战 互联网在面临横向扩展、服务隔离等问题的局限 2. 微服务能够更好地解决互联网问题 讲解什么是微服务架构 剖析微服务架构在解决诸多互联网问题时的思路
微服务架构是应对快速市场变化的必然结果 1. 技术进步与快速市场变化面临的挑战 市场需要更快速的价值交付与技术迭代 软件规模化发展导致软件交付速度的降低 2. 微服务如何解决规模化敏捷的问题 特性团队组织与微服务架构 去中心化技术治理与去中心化数据管理 |
第二部分 微服务架构设计 | |
第二单元 微服务常用架构 | 基于Spring Cloud Alibaba的微服务技术框架 1. Spring Cloud简介 2. Spring Boot简介 3. Spring Cloud Alibaba
最简版的微服务架构 1. 服务注册与发现Nacos 2. 服务网关Spring Cloud Gateway 3. 微服务及其相互调用Sentinel 4. 配置管理 Apollo |
第三单元 服务注册与发现 | 服务注册与发现的概念与作用 实现服务注册与发现的方案 1. Dubbo的简介 2. Spring Cloud Eureka的简介 3. Nacos的简介
Nacos方案 1. Nacos的系统架构 2. Nacos Server的设计 3. Nacos Client的设计 4. 服务发现的设计 Ø 使用ribbon的设计 Ø 使用feign的设计 5. 熔断机制 Ø 断路器设计模式 Ø 线程池隔离、优雅降级与熔断 Ø Sentinel的断路器设计
练习:使用Nacos构建微服务系统 |
第四单元 微服务层的设计 | 微服务架构的6种设计模式 1. 聚合模式 案例:电商网站购物功能的设计 Ø 微服务前后端分离的设计 Ø 分布式事务的两阶段提交 Ø TCC方案与阿里GTS Ø 采用分布式事务解决跨库的事务操作 案例:电商网站下单服务的设计 单一职责原则与领域驱动设计 Ø 互联网纵向切分在微服务的实现 Ø 纵向切分应当注意的设计问题 Ø 避免跨库关联查询的设计 2. 代理模式 案例:电商网站支付功能的设计思路 案例:电商网站多渠道支付的微服务实现 3. 链式模式 4. 分支模式 5. 数据共享模式 案例:大数据与微服务结合的架构设计 6. 异步消息模式 案例:12306的异步化操作 案例:电商网站异步化操作的微服务实现
微服务的粒度 1. 微服务的拆分原则 2. 微服务的拆分方式
微服务设计的反模式 1. 太多数据迁移 2. 数据共享反模式 3. 频繁交互反模式 探讨:如何解决微服务接口太多的问题 |
第五单元 服务网关 | 服务网关在微服务架构中的作用 1. 多渠道用户接入 微服务前后端分离的架构设计 2. 微服务的负载均衡 负载均衡的难题:Session管理 3. 路由网关(Spring Cloud Gateway) 蓝绿发布、滚动发布、灰度发布与金丝雀发布 权限验证与安全保障 智能路由与服务迁移 过滤器的设计与配置 4. 流量控制与节流 练习:设计服务网关、路由网关与断路器 |
第六单元 微服务开发实战演练 | 用实际项目演练微服务开发的整个过程 1. 演练:从单体应用到微服务的设计转型过程 2. 微服务开发的组织形式:父项目与基础平台 3. 微服务开发的组织形式:多环境配置 4. 前端、聚合层、原子服务层的微服务设计 5. 服务网关的设计:用户权鉴与智能路由
微服务开发高阶: 1. 在分布式环境中高可靠地部署Eureka集群 2. 演练:如何实现跨语言的微服务调用 3. 演练:如何实现高并发下的优雅降级 4. 微服务间调用的监控与调优
微服务的技术中台建设: 1. 微服务技术中台应具备的要素 2. 配置中心Apollo 3. 断路监控Spring Cloud Turbine 4. 链路监控Skywalking 5. 消息中间件kafka, rocketmq 6. 分布式缓存redis 7. 监控平台prometheus+EFK |
课程对象
中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。
课程特色
本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握微服务架构设计的过程,以及从传统架构向微服务改造的过程。同时,通过大量真实的案例,讲解许多公司在开展微服务转型过程中面临的难题、解决的思路,以及最终的设计。