课程大纲:
主题 | 培训内容 |
第1单元 微服务架构概述 | 内容一:微服务架构诞生—为什么出现微服务架构 1. 单块架构及其面临的挑战 2. 分层应用架构 3. 单块架构特点 4. 单块架构面临的挑战 5. 通过某传统ERP系统为案例分析上线后问题
内容二:微服务架构 1. 为什么需要微服务架构 2. 如何解决传统应用架构的问题 3. 微服务架构是什么 4. 微服务架构概念 5. 微服务架构参考架构模式 6. 通过分析多个微服务架构案例,了解微服务架构的参考模式 |
第2单元-微服务架构—服务分解和建模 | 内容一:微服务分解和服务颗粒度 1. 微服务架构构成(服务拆分、服务拓扑关系图); 2. 微服务架构设计原则; 3. 微服务架构服务粒度设计; 4. 微服务架构之我们的实践案例; 5. 通过大量项目案例分析,什么是好的服务,服务的分解和服务颗粒度
内容二:微服务建模 1. 如何建模服务 2. 什么样的服务是好服务 3. 微服务的松耦合和高内聚 4. 微服务限界上下文 5. 微服务的业务功能 6. 逐步划分服务上下文 7. 微服务与业务概念 8. 微服务技术边界 9. 通过案例分析微服务建模 |
第3单元-微服务架构设计开发实现—基于SpringBoot 3.x | 内容一:微服务架构开发实现---SpringBoot 1. Spring Boot概述 2. 运用Spring Boot 3. Groovy与Spring Boot CLI 4. 在Spring Boot中使用Grails 5. 深入Actuator 6. 部署Spring Boot应用程序 7. Spring Boot 的数据访问 8. Spring Boot 企业级开发 9. Spring Boot 开发部署与测试 10. 多个基于SpringBoot实际项目的架构分析(为何这样设计/优点/缺点/当初的考虑)
内容二:基于SpringBoot3.x 开发实战 1. 传统Web前端设计 2. Spring Boot 3.x Web开发 3. Spring Boot+SSM实战 4. Spring Boot特性与原理 5. 持久层发展与Spring Data JPA 6. SpringBoot缓存与Redis 7. 认证、授权与Spring Security 8. SpringBoot RESTful与接口文档 |
第4单元- 基于Spring Security实战 | 内容一:Spring Security实战 1. 什么是软件安全性 2. 安全性为什么重要 3. Web应用程序中的常见安全漏洞 4. Spring Security的定义与用途 5. 在Spring Security中实现身份验证 6. 密码处理-理解PasswordEncoder契约 7. Spring Security Crypto模块的更多知识 8. 实现身份验证-理解AuthenticationProvider 9. 动手实践:一个小型且安全的Web应用程序 10. 配置权限:限制访问 11. 配置权限:应用限制 12. 在Spring Security架构中实现过滤器 13. OAuth 2的运行机制 14. OAuth 2身份验证架构的组件 15. OAuth 2:实现授权服务器 16. OAuth 2:实现资源服务器 17. 全局方法安全性:预过滤和后过滤 18. Spring Security测试 |
第5单元-基于SpringCloud 平台
| 内容二:微服务架构与云架构--Spring Cloud平台 1. 云计算平台架构 2. 为什么选择Spring Cloud 3. 服务治理:Spring Cloud Nacos 4. 客户端负载均衡:Spring Cloud LoadBalancer 5. 服务容错保护:Spring Cloud Alibaba Sentinel 6. 声明式服务调用:Spring Cloud Feign 7. 分布式配置中心:Spring Cloud Config 8. 消息总线:Spring Cloud Bus 9. 多个基于SpringBoot和SpringCloud云架构,谈微服务和云架构 |
第6单元-基于SpringCloud Alibaba Nacos
| 内容一:微服务注册与发现-- Alibaba Nacos 1. 为什么要服务注册 2. 服务注册实现方式 3. 分布式服务治理 4. 分布式注册中心 5. 服务注册原理 6. 服务订阅原理 7. 分布式注册Nacos 8. 将应用接入Nacos注册中心 9. 使用Ribbon+Nacos Client实现负载均衡 10. 使用CP和AP模式保持注册中心数据一致性 11. 用缓存和文件存储Nacos元数据 12. 用Nacos Sync实现应用服务的数据迁移 13. 对比Nacos,ZooKeeper,Eureka,Consul使用Spring和Netflix Eureka进行服务发现实战 |
第7单元-基于Spring Cloud LoadBalancer
| 内容一:微服务负载均衡和路由,容错- Spring Cloud LoadBalancer 1. 负载均衡 2. 容错 3. 服务路由 4. Spring Cloud LoadBalancer实现 5. Health-Check Load-Balancing 6. Same-Instance Load-Balancing 7. Request-based Sticky Session Load-Balancing 8. Hint-based Load-Balancing 9. ReactorLoadBalancerExchangeFilterFunction 10. RestTemplate中使用Spring Cloud LoadBalancer 11. 微服务间的异步通信机制 12. 切换负载均衡算法 13. Spring Cloud LoadBalancer Caching |
第8单元--微服务统一配置中心 Nacos | 内容一:分布式微服务统一配置中心-Apollo 1. 管理配置(和复杂性) 2. 配置管理架构 3. 构建Spring Cloud配置服务器 4. 将Spring Cloud Config与Spring Boot客户端集成 5. 分布式配置中心——携程Apollo 6. 携程apollo优点 7. apollo架构 8. Apollo分布式配置中心部署 9. Apollo分布式配置中心最佳实践
内容二:SpringCloud Nacos统一配置中心 1. Spring Cloud Nacos之服务配置中心 2. 将应用接入Nacos配置中心 3. 认识Nacos配置中心的配置信息模型 4. 了解NacosConfigService 5. Nacos Client接入应用 6. 用Http协议和gPRC框架实现通信 7. 用数据库持久化配置中心 |
第9单元--微服务新一代网关 | 内容一:微服务新一代网关SpringCloud-Gateway 1. 使用Spring Cloud Gateway进行服务路由 2. 什么是服务网关 3. Spring Cloud gateway简介 4. 在gateway中配置路由 5. 动态重新加载路由配置 6. 构建动态路由过滤器 7. 新一代网关Spring Cloud Gateway 8. 动态重新加载路由配置 9. 网关最佳实践 10. Spring Cloud Gateway原理分析 11. Route Predicate Factories 12. 自定义过滤器 13. 自定义API分组限流 14. Spring Cloud Gateway最佳实践
|
第10单元--微服务过载保护 | 内容一:微服务断路器—Sentinel 1. 什么是客户端弹性模式 2. 客户端负载均衡模式 3. 服务限流的作用及实现 4. 基于Sentinel的微服务限流及熔断 5. 分布式限流框架Sentinel 6. Sentinel的基本应用 7. Sentinel实现限流 8. 资源的定义方式 9. Sentinel资源保护规则 10. Sentinel实现服务熔断 11. Spring Cloud集成Sentinel实践 |
第11单元--微服务交付与测试 | 内容一:微服务测试-持续集成与测试 1. 微服务测试 2. 实现服务测试 3. 端到端测试的缺点 4. 跨功能的测试 5. 微服务的测试策略与PACT测试 6. 微服务测试案例分析
内容二:微服务发布 1. 微服务架构如何代码控制? 2. 微服务架构自动化测试? 3. 微服务架构如何预先发布验证? 4. 微服务架构如何灰度发布? 5. 微服务架构如何自动化发布? 6. 使用Docker发布服务; 7. 使用Docker-Compose在开发环境中运行多个服务 8. 微服务架构设计软件质量保证最佳实践是什么 |
第12单元--微服务架构运维与监控 | 内容一:微服务运维和监控 1. 微服务系统设计监控重要性? 2. 微服务系统设计监控数据采集方法是什么? 3. 微服务系统设计如何监控设计? 4. 微服务系统语义监控如何做? 5. 微服务系统进程监控如何做? 6. 微服务系统错误日志监控如何做? 7. 微服务系统设计监控的最佳实践是什么? 8. 最佳实践与案例分析 |
第13单元 微服务分布式事务 | 内容一:本地与分布式事务 1. 本地事务-JDBC实现 2. XA和两阶段事务协议 3. J2EE分布式事务 4. Spring框架与分布式事务 5. CAP原则和BASE原则 6. 微服务事务一致性实现策略 7. TCC与分布式微服务架构事务 8. 分布式微服务架构最佳实践
内容二:微服务分布式事务—Seata 1. 分布式事务处理 2. Seata的基础概念 3. Seata的事务概念 4. 将应用接入Seata 5. 用TA模式实现分布式事务 6. 用TCC模式实现分布式事务 7. 用XA模式实现分布式事务 8. 用Saga模式实现分布式事务
内容三:分布式数据库—分库与分表 1. 数据分布式 2. 什么是分布式数据库 3. 分库分表和读写分离 4. 什么是ShardingSphere 5. 将应用接入ShardingSphere 6. 用路由引擎实现分库分表的原理 7. 读写分离 8. 使用SQL引擎实现分库分别 9. 分布式数据一致性 10. 分库的join操作 11. 利用冗余,方便分库查询 |
第14单元 微服务分布式日志 | 内容一:大型微服务分布式日志 1. 大数据日志系统的构建 2. 开源日志框架的原理分析与应用实践 3. ELK系统的构建与使用 4. Elasticsearch 5. Logstash 6. Kibana 7. 大数据日志系统的原理与设计 8. 日志系统的容量和性能评估 |
第15单元 微服务调用链监控 | 内容一:微服务分布式跟踪系统—大众点评CAT 1. 基于调用链的服务治理系统的设计与实现 2. 调用链跟踪的原理 3. 分布式系统的远程调用过程 4. Google Dapper实现 5. 大众点评CAT案例分析 6. CAT实现原理 7. CAT部署策略 8. CAT最佳实践
内容二:微服务分布式跟踪系统—Skywalking 1. 分布式链路追踪 2. Skywalking架构 3. Skywalking环境 4. 用Java Agent将应用接入Skywalking 5. Skywalking模块化设计 6. 应用与Skywalking之间通信渠道 7. 什么是探针 8. 用探针采集链路数据 |
第16单元--使用微服务架构改造遗留系统 | 内容一:使用微服务架构改造遗留系统 1. 背景与挑战 2. 改造策略 3. 逐步替换微服务 4. 功能剥离和封装 5. 依赖数据解耦和基础数据共享 6. 通过案例分析微服务架构改造 |