微服务架构最佳实践与案例分析

时间:该课程暂无课程排期

地点:暂无地点信息

教练:刘捷

咨询公司 曾任职BEA(中国)资深软件架构师

曾任职BEA(中国)资深软件架构师,十余年的企业软件架构、开发和管理经验, 侧重于企业应用软件架构设计.主要负责客户大型项目的架构设计和研发。
作为技术专家保证项目的成功实施,运行和维护。参加过全国/全省多个大型的计算机应用项目,擅长的领域包括电信,金融、税务,大型互联网web2.0应用等。此前就职于IBM,任软件架构师。 在此之前曾任日本东京一家软件企业的资深技术顾问。

| 培训特色 |

微服务是一个快速发展的主题。尽管它不是一个新的想法(虽然这个词本身是),但世界各地的人们所获取的经验以及新技术的出现正在对如何使用它产生深远的影响。因为其变化的节奏很快,所以本课程更加关注理念,而不是特定技术,因为实现细节变化的速度总是比它们背后的理念要快得多。而且,我完全相信几年后我们会对微服务适用的场景了解更多,也会知道如何更好地使用它。

| 目标收益 |

探讨在微服务的实践过程中所积累的经验,包括基于 HAL的通信机制、消费者驱动的测试,并通过一个真实的案例,帮助读者更好地理解微服务架构所带来的灵活性、易扩展性和独立性。

| 培训对象 |

该课程适应于各类技术人员.细粒度的微服务架构包含了很多方面的内容,所以本课程涉及范围很广,适用于对系统的设计、开发、部署、测试和运维感兴趣的人们。对于那些已经走上更细粒度架构之路的人,无论是开发新应用,还是拆分现有的单块系统,都会因课程里很多的实用建议而受益。对于想要了解微服务方方面面的人,也可以帮助你确定微服务是否适合你。

| 课程大纲 |

主题

内容

第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和SpringCloud

动手实现一个完整的微服务

内容一:微服务架构开发实现---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实际项目的架构分析(为何这样设计/优点/缺点/当初的考虑)

内容二:微服务架构与云架构--Spring Cloud平台
1.云计算平台架构
2.为什么选择Spring Cloud
3.Spring Cloud
4.服务治理:Spring Cloud Eureka
5.客户端负载均衡:Spring Cloud Ribbon
6.服务容错保护:Spring Cloud Hystrix
7.声明式服务调用:Spring Cloud Feign
8.分布式配置中心:Spring Cloud Config
9.消息总线:Spring Cloud Bus
10.多个基于SpringBoot和SpringCloud云架构,谈微服务和云架构内容一:微服务架构开发实现---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实际项目的架构分析(为何这样设计/优点/缺点/当初的考虑)

内容二:微服务架构与云架构--Spring Cloud平台
1.云计算平台架构
2.为什么选择Spring Cloud
3.Spring Cloud
4.服务治理:Spring Cloud Eureka
5.客户端负载均衡:Spring Cloud Ribbon
6.服务容错保护:Spring Cloud Hystrix
7.声明式服务调用:Spring Cloud Feign
8.分布式配置中心:Spring Cloud Config
9.消息总线:Spring Cloud Bus
10.多个基于SpringBoot和SpringCloud云架构,谈微服务和云架构

第4单元--微服务架构基础框架和平台

内容一:微服务基础\平台
1.微服务架构设计之开发框架选择(Spring Boot);
2.微服务架构设计之容器选择(Docker);
3.微服务架构设计之服务注册选择(Zookeeper、Etcd、Consul);
4.微服务架构设计之服务网关选择(Nginx、Node.js、Netflix Zuul);
5.微服务架构设计之自动化部署选择(Jenkins、GitLab CI);
6.微服务的安全机制与OAuth2.0实现
7.微服务架构设计之最佳实践案例;

第5单元--微服务注册与发现,服务路由,统一配置中心

内容一:微服务注册与发现
1.为什么要服务注册
2.服务注册实现方式
3.使用NetflixEureka/SpringCloud实现服务注册
4.使用NetflixRibbon/SpringCloud实现客户端负载均衡
5.为什么要服务发现
6.服务发现的实现方式
7.使用Spring和Netflix Eureka进行服务发现实战

内容二:微服务负载均衡和路由,容错
1.负载均衡
2.容错
3.服务路由
4.微服务间的异步通信机制
5.Spring Clould 的Ribbon实现

内容三:分布式微服务统一配置中心
1.管理配置(和复杂性)
2.配置管理架构
3.构建Spring Cloud配置服务器
4.将Spring Cloud Config与Spring Boot客户端集成
5.分布式配置中心——携程Apollo
6.携程apollo优点
7.apollo架构
8.Apollo分布式配置中心部署
9.Apollo分布式配置中心最佳实践

第6单元--微服务网关和过载保护

内容一:微服务网关—Zuul
1.使用Spring Cloud和Zuul进行服务路由
2.什么是服务网关
3.Spring Cloud和Netflix Zuul简介
4.在Zuul中配置路由
5.动态重新加载路由配置
6.构建第 一个生成关联ID的Zuul前置过滤器
7.构建动态路由过滤器 
8.Zuul网关最佳实践

内容二:微服务断路器—Hystrix
1.什么是客户端弹性模式 
2.客户端负载均衡模式 
3.断路器模式 
4.后备模式 
5.舱壁模式 
6.使用Hystrix实现断路器 
7.对组织微服务的调用超时
8.定制断路器的超时时间
9.线程上下文和Hystrix 
10.Hystrix最佳实践

第7单元--微服务交付与测试

内容一:微服务测试-持续集成与测试
1.微服务测试
2.实现服务测试
3.端到端测试的缺点
4.跨功能的测试
5.微服务的测试策略与PACT测试
6.微服务测试案例分析

内容二:微服务发布
1.微服务架构如何代码控制?
2.微服务架构自动化测试?
3.微服务架构如何预先发布验证?
4.微服务架构如何灰度发布?
5.微服务架构如何自动化发布?
6.使用Docker发布服务;
7..使用Docker-Compose在开发环境中运行多个服务
8.微服务架构设计软件质量保证最佳实践是什么

第8单元--微服务架构运维与监控

内容一:微服务运维和监控
1.微服务系统设计监控重要性?
2.微服务系统设计监控数据采集方法是什么?
3.微服务系统设计如何监控设计?
4.微服务系统语义监控如何做?
5.微服务系统进程监控如何做?
6.微服务系统错误日志监控如何做?
7.微服务系统设计监控的最佳实践是什么?
8.最佳实践与案例分析

第9单元--微服务分布式事务和日志监控

内容一:微服务分布式事务
1.本地事务-JDBC实现
2.XA和两阶段事务协议
3.J2EE分布式事务
4.Spring框架与分布式事务
5.CAP原则和BASE原则
6.微服务事务一致性实现策略
7.TCC与分布式微服务架构事务
8.分布式微服务架构最佳实践

内容二:大型微服务分布式日志
1.大数据日志系统的构建
2.开源日志框架的原理分析与应用实践
3.ELK系统的构建与使用
4.Elasticsearch
5.Logstash
6.Kibana
7.大数据日志系统的原理与设计
8.日志系统的容量和性能评估


内容三:微服务分布式跟踪系统—大众点评CAT
1.基于调用链的服务治理系统的设计与实现
2.调用链跟踪的原理
3. 分布式系统的远程调用过程
4.Google Dapper实现
5.大众点评CAT案例分析
6.CAT实现原理
7.CAT部署策略
8.CAT最佳实践


内容一:大型分布式架构核心概念
1.典型大规模互联网系统架构
2.可用性的概念以及设计准则
3.扩展性的概念以及设计准则
4.负载均衡的概念以及设计准?
5.一致性的概念以及设计准则
6.通过大量案例分析以上原则

内容二:降级设计与实践
1.服务限流降级概念;
2.服务限流降级使用业务场景;
3.服务限流降级设计环节;
4.服务限流降级之原则篇、架构篇、框架篇、业务篇;
5.移动时代服务限流降级如何打造;
6.我们的实践案例;

内容三:高可用性设计
1.可用性一般度量
2.可用性实践
3.平均故障间隔时间(MTBF)
4.平均修复时间
5.错误和缺陷率
6.高可用性原则 1: Remember Everything Fails
7.高可用性原则 2: Automate Everything
8.可用性最佳实践-1-错误检测
9.可用性最佳实践-2-错误隔离/恢复/降级或掩盖
10.可用性最佳实践-3-错误预防
11.机器故障自动修复
12.资源故障自动迁移
13.服务故障容灾降级
14.业务容量自动调整
15.架构设计预防;

第10单元--大型分布式架构设计最佳实践

内容一:使用微服务架构改造遗留系统
1.背景与挑战
2.改造策略
3.逐步替换微服务
4.功能剥离和封装
5.依赖数据解耦和基础数据共享
6.通过案例分析微服务架构改造

第11单元--使用微服务架构改造遗留系统

内容一:使用微服务架构改造遗留系统
1.背景与挑战
2.改造策略
3.逐步替换微服务
4.功能剥离和封装
5.依赖数据解耦和基础数据共享
6.通过案例分析微服务架构改造

国内外知名一线技术专家分享世界级软件研发管理实践,讲述他们在知名企业的成功案例与宝贵经验。
msup与企业深度合作,并为其量身定制个性化学习课程,精心设计内容与形式,提供最高质量的学习体验。

服务热线 : 400-812-8020

邮箱: market@msup.com.cn

官网: www.msup.com.cn