微服务架构设计与实践

微服务架构设计与实践

课程综述:

当今大型或者超大型企业的 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 公司微服务架构系统案例分享

微服务业务设计和拆分

微服务系统架构选型

从传统单体系统迁移到微服务架构系统改造

构建微服务架构持续集成开发流水线

微服务自动化部署

微服务架构系统监控

课程推荐

最新课表
免费课程预约