课程综述:
当今大型或者超大型企业的 IT 平台为迎合业务的快速发展下不停地打造各种系统,经
过长时间运行使用后系统架构呈现烟囱组织,系统变得复杂,模块耦合度高,关联依赖复杂,
牵一发而动全身,不利于业务创新和迭代。如何更快速整合现有的各个系统,使得企业能从
战略、组织、制度、流程和业务等方面进行持续快速的迭代,完善企业的结构和运转方式,
使企业能够达到现在和未来的目标。目前有效的解决方案就是引入微服务架构方案,通过将
巨大单体应用分解为多个服务方法解决复杂性问题。在功能不变的情况下,应用被分解为多
个可管理的服务,从而实现系统易于开发与维护、独立部署、高可伸缩性、技术异构性等众
多的架构优点,推动业务快速迭代和发展。
本课程采用业界流行的成熟微服务解决方案 Spring Cloud 技术栈,以实践和案例驱动,
采用多个完整地案例贯穿整个课程,来完成学习实践环节,让学员真正掌握微服务架构的理
论、架构设计、具体实现技术,从而让微服务架构落地。
学时:2 天 12 学时(1 小时 / 学时)
培训对象:
架构师、开发工程师、测试工程师、运维工程师
课程安排:
第一天
微服务架构概述
什么是微服务架构
单块架构优势与挑战
微服务架构的本质与特征
微服务与 SOA
微服务从设计、开发、集成、测试到生产环境运行的挑战
微服务架构构成
API 网关与常用组件
服务注册中心与常用组件
配置中心与常用组件
服务调用框架与常用组件
主流微服务架构技术解决方案比较分析
微服务设计
应用的微服务架构设计
服务的粒度与分类
服务拆分原则
常见微服务拆分方法
服务的编排与编制
单体架构如何演进到微服务架构
微服务架构系统案例介绍
微服务的相关设计
常用设计模式
服务间通信方式的比较与选择
服务的无状态设计
服务的幂等设计
服务的容错与降级设计
服务的柔性设计
实践案例
基于 Spring Cloud 架构微服务解决方案
Spring Cloud 技术栈
服务支撑组件介绍(服务注册,集中化配置,断路器,服务网关)
微服务应用实践
微服务的注册与发现(service-discovery)
为什么要服务注册与发现
服务注册与服务发现的实现方式
使用 Spring Cloud Eureka 实现分布式服务注册中心
Netflix Eureka 和 Ribbon 概述
Eureka 和 Ribbon 架构设计原理
使用 Spring Cloud Ribbon 客户端负载均衡
使用 Spring Cloud feign 实现申明式访问微服务
微服务的集中化配置(centralized-config)
为什么要集中化配置
集中化配置的实现原理与方式
使用 Spring Cloud Config 实现集中化配置
Spring Cloud Config 用 Git / SVN 做配置文件仓库
第二天
微服务的容错处理(circuit-breaker)
微服务下的可用性与故障蔓延(Failure Cascading)
断路器模式的原理与实现
微服务实现容错
使用 Spring Cloud Hystrix 实现服务容错
使用 Netflix Turbine 实现监控聚合
使用 Hystrix-dashboard 可视化服务质量监控
部署运行微服务调用方实现负载均衡案例。
部署运行当服务不可用时,服务调用方实现熔断,避免微服务失效,扩大,导致大面积雪崩效应。
构建微服务网关 Spring Cloud Gateway
为什么需要微服务网关
微服务网关的实现方案
使用 Spring Gateway 实现微服务网关
Spring Cloud Gateway 实现路由转发
Spring Cloud Gateway 路由断言工厂
Spring Cloud Gateway 过滤器工厂
全局过滤器
微服务网关实战案例:
限流实战
熔断回退实战
跨域实
统一异常处理
重试机制
微服务的安全
微服务下安全的实现方式:Spring Cloud Security
使用 HTTPS 加密传输内容
OAuth2 概述
JWT 令牌概述
分布式事务
分布式事务相关理论
微服务分布式事务 Saga 方案
TCC 模式与方案
消息模式与方案
使用 Docker 发布微服务
Docker 与 jenkins 集成与部署
微服务的自动化发布与部署
使用 Docker 技术实现微服务自动化部署
Kubernetes 中微服务部署方案和架构
基于 K8S+微服务的案例分析
微服务与日志聚合
日志聚合的常用技术方案
使用 ELK 实现服务的日志聚合与管理
微服务监控与告警
微服务监控与告警常用方案
使用 Hystrix-dashboard 可视化服务质量监控
部署运行使用 Spring Boot actuator 和 Spring Boot Admin 实现微服务的 metrics+HealthCheck 监控
部署运行使用 Spring Cloud Hystrix Dashboard+Turbine 实现监控服务调用时间和微服务运行故障信息。
部署运行使用 Spring Cloud Sleuth 和 Zipkin 实现微服务调用链监控
XXX 公司微服务架构系统案例分享
微服务业务设计和拆分
微服务系统架构选型
从传统单体系统迁移到微服务架构系统改造
构建微服务架构持续集成开发流水线
微服务自动化部署
微服务架构系统监控












