课程

课程介绍

        当今大型企业的IT平台为迎合业务的快速发展不停地打造各种系统,经过长时间运行使用后系统架构呈现烟囱组织,系统变得复杂,模块耦合度高,关联依赖复杂,牵一发而动全身,不利于业务创新和迭代。如何更快速整合现有的各个系统,使得企业能从战略、组织、制度、流程和业务等方面进行持续快速的迭代,完善企业的结构和运转方式,使企业能够达到现在和未来的目标。目前有效的解决方案就是引入微服务架构方案,通过将巨大单体应用分解为多个服务方法解决复杂性问题。在功能不变的情况下,应用被分解为多个可管理的服务,从而实现系统易于开发与维护、独立部署、高可伸缩性、技术异构性等众多的架构优点,推动业务快速迭代和发展。
        本课程采用业界流行的成熟微服务解决方案Spring Cloud技术栈,以实践和案例驱动,采用多个完整地案例贯穿整个课程,来完成学习实践环节,让学员真正掌握微服务架构的理论、架构设计、具体实现技术,从而让微服务架构落地。

培训对象

架构师、开发工程师、测试工程师、运维工程师。

课程收益

掌握如何设计可靠的企业级微服务架构方案;
掌握使用Spring Cloud技术栈开发大型微服务架构系统; 
掌握大型企业级微服务架构系统开发、测试、生产的最佳实践;
解决如何在时间、成本和质量之间追求平衡,以低成本平稳地实现微服务架构系统演进。

知识概要

-- 微服务架构概述;
-- 微服务架构构成;
-- 主流微服务架构技术解决方案比较分析;
-- 微服务设计;
-- 应用的微服务架构设计;
-- 网关层相关设计;
-- 微服务的相关设计;
-- 基于Spring Cloud架构微服务解决方案;
-- 微服务应用实践;
-- 微服务的注册与发现(service-discovery);
-- 微服务的集中化配置(centralized-config);
-- 微服务的容错处理(circuit-breaker);
-- 构建微服务网关Spring Cloud Gateway;
-- 微服务的安全;
-- 使用K8S+Docker发布微服务;
-- 微服务与日志聚合;
-- 微服务监控与告警;
-- 某公司微服务架构系统案例分享。

课程大纲

模块

学习内容

第一天AM

微服务架构概述

快速交付业务对技术架构的挑战

微服务架构优势与挑战

什么是微服务架构

本质与特征

微服务与SOA

微服务从设计、开发、集成、测试到生产环境运行的挑战

微服务架构构成

API网关与常用组件

服务注册中心与常用组件

配置中心与常用组件

服务调用框架与常用组件

主流微服务架构技术解决方案比较分析

应用的微服务架构设计

服务的粒度与分类

服务拆分原则

常见微服务拆分方法

服务的编排与编制

单体架构如何演进到微服务架构

微服务架构系统案例介绍

网关层相关设计

网关的作用

微服务架构下Session管理方案

微服务安全控制方案

微服务流控方案

微服务的相关设计

常用设计模式

服务间通信方式的比较与选择

服务的无状态设计

服务的幂等设计

服务的容错与降级设计

服务的柔性设计

实践案例

第一天PM

基于Spring Cloud架构微服务解决方案

Spring Cloud技术栈

服务支撑组件介绍(服务注册,集中化配置,断路器,服务网关)

微服务应用实践

微服务的注册与发现(service-discovery)

为什么要服务注册与发现

服务注册与服务发现的实现方式

使用Spring Cloud Eureka实现分布式服务注册中心

Netflix Eureka 和 Ribbon概述

Eureka 和 Ribbon 架构设计原理

Spring Cloud Eureka 和 Ribbon 主要配置项

Eureka进阶:自保护模式

Eureka进阶:健康检查和蓝绿部署

使用Spring Cloud Ribbon客户端负载均衡

使用Spring Cloud feign实现申明式访问微服务

微服务的集中化配置(centralized-config)

为什么要集中化配置

集中化配置的实现原理与方式

使用Spring Cloud Config实现集中化配置

Spring Cloud Config用Git / SVN做配置文件仓库

生产环境携程 Apollo 配置中心介绍

Apollo核心概念

Apollo架构设计之服务器端

Apollo架构设计之客户端

Apollo架构设计之高可用和监控

Apollo分布式部署指南

Apollo Java客户端和多语言接入

Apollo Client和Spring Boot集成

案例演示:部署运行高可用配置中心

第二天AM

微服务的容错处理(circuit-breaker)

微服务下的可用性与故障蔓延(Failure Cascading)

断路器模式的原理与实现

微服务实现容错

使用Spring Cloud Hystrix实现服务容错

Hystrix实现回退支持

Hystrix中实现信号量策略配置

Hystrix线程隔离策略配置

容错场景实现结果缓存

使用Netflix Turbine实现监控聚合

使用Hystrix-dashboard可视化服务质量监控

部署运行微服务调用方实现负载均衡案例。

当服务不可用时,服务调用方实现熔断,避免微服务失效扩大,导致大面积雪崩效应

构建微服务网关Spring Cloud Gateway

为什么需要微服务网关

微服务网关的实现方案

使用Spring Gateway实现微服务网关

Spring Cloud Gateway实现路由转发

Spring Cloud Gateway路由断言工厂

Spring Cloud Gateway过滤器工厂

全局过滤器

微服务网关实战案例

微服务的安全

微服务下安全的实现方式:Spring Cloud Security

使用HTTPS加密传输内容

Spring Security OAuth2 架构简介

授权服务器支持JWT令牌

第二天PM

使用K8S+Docker发布微服务

Docker与jenkins集成与部署

微服务的自动化发布与部署

使用docker的API

使用Docker技术实现微服务自动化部署

Kubernetes中微服务部署方案和架构

基于K8S+微服务的案例分析

微服务与日志聚合

日志聚合的常用技术方案

使用ELK实现服务的日志聚合与管理

微服务监控与告警

微服务监控与告警常用方案

使用Netflix Turbine实现监控聚合

使用Hystrix-dashboard可视化服务质量监控

部署运行使用Spring Boot actuator和Spring Boot Admin实现微服务的metrics+HealthCheck监控

部署运行使用Spring Cloud Hystrix Dashboard+Turbine实现监控服务调用时间和服务运行故障信息

部署运行使用Spring Cloud Sleuth和Zipkin实现微服务调用链监控

XXX公司微服务架构系统案例分享

微服务业务设计和拆分

微服务系统架构选型

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

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

微服务自动化部署

微服务架构系统监控

认证过程

无认证考试

开班信息

暂无开班信息