高级微服务架构设计与服务治理最佳实践
培训地点 | |
培训时间 |
一、培训收益
系统全面地了解和学习微服务架构的设计、云计算与大数据基础平台及原生云应用开发方法等。通过此次课程培训,可使学习者获得如下收益:
1.学习掌握微服务架构的概念与本质;
2.使用Springboot/SpringCloud构建活动报名系统;
3.使用NetflixOSS构建微服务支撑组件(服务注册发现、集中化配置中心、API网关、容错处理);
4.使用Docker发布服务;
5.使用Docker-Compose在开发环境中运行多个服务;
6.学习掌握微服务的测试策略与PACT测试;
7.学习掌握微服务的安全机制与OAuth2.0实现;
8.学习掌握微服务间的异步通信机制;
9.学习了解微服务的监控与告警;
10.学习掌握微服务架构的日志聚合;
11.构建微服务的持续交付流水线。
二、培训特色
1.理论与实践相结合、案例分析与行业应用穿插进行;
2.专家精彩内容解析、学员专题讨论、分组研究;
3.通过全面知识理解、专题技能演示和实践引导学员掌握课程内容。
三、日程安排
时间 | 知识模块 | 授课纲要 |
---|---|---|
第一天 | 微服务架构概述 | 1.微服务架构概述 |
什么是微服务架构 | ||
单块架构优势与挑战 | ||
微服务架构的本质与特征 | ||
微服务与SOA | ||
微服务的挑战 | ||
2.微服务架构构成 | ||
API网关与常用组件 | ||
服务注册中心与常用组件 | ||
配置中心与常用组件 | ||
服务调用框架与常用组件 | ||
3.企业微服务架构示例 | ||
微服务设计 | 1.应用的微服务架构设计 | |
服务的粒度与分类 | ||
服务拆分原则 | ||
常见微服务拆分方法 | ||
服务的编排与编制 | ||
单体架构如何演进到微服务架构 | ||
微服务架构系统案例介绍 | ||
3.网关层相关设计 | ||
网关的作用 | ||
微服务架构下Session管理方案 | ||
Oauthor2与微服务安全控制方案 | ||
微服务流控方案 | ||
3.微服务的相关设计 | ||
常用设计模式 | ||
服务间通信方式的比较与选择 | ||
服务的无状态设计 | ||
服务的幂等设计 | ||
服务的容错与降级设计 | ||
服务的柔性设计 | ||
实践案例 | ||
第二天上午 | 服务治理 | 1.分布式事务 |
分布式事务相关理论 | ||
两阶段提交 | ||
TCC模式与方案 | ||
CC模式与方案 | ||
可靠事件模式与方案 | ||
消息表模式与方案 | ||
2. 服务监控 | ||
监控的重要性 | ||
监控内容与方式 | ||
请求跟踪场景与应用 | ||
监控日志设计与数据采集 | ||
监控方案与框架选择 | ||
结合监控进行问题排查 | ||
3. 微服务发布 | ||
契约测试 | ||
Docker容器 | ||
服务发布流水线 | ||
管理微服务 | ||
第二天下午 | 微服务开发实践 | 1.实验案例介绍 |
实验案例 | ||
服务定义与划分 | ||
实验基础环境搭建 | ||
2.SpringBoot介绍 | ||
SpringBoot的核心能力 | ||
SpringCloud与常用组件介绍 | ||
练习:构建第一个微服务 | ||
3.微服务的注册与发现 | ||
为什么要服务注册与发现 | ||
服务注册与服务发现的实现方式 | ||
Eureka原理与使用介绍 | ||
练习:使用Eureka实现服务注册与发现 | ||
练习:使用Ribbon实现客户端负载均衡 | ||
练习:使用Feign实现申明式REST调用 | ||
第三天 | 微服务开发实践 | 4.微服务调用与容错处理 |
微服务下的可用性与故障蔓延 | ||
断路器模式的原理与实现 | ||
练习:使用Hystrix实现容错与降级 | ||
练习:使用Hystrix实现异步调用 | ||
练习:使用Hystrix实现请求数据缓存 | ||
练习:使用HystrixDashboard实现请求监控 | ||
5.构建微服务网关 | ||
为什么需要微服务网关 | ||
微服务网关的实现方案 | ||
练习:使用Zuul实现微服务网关 | ||
6.微服务的集中化配置 | ||
为什么要集中化配置 | ||
集中化配置的实现原理与方式 | ||
练习:使用SpringCloudConfig实现集中化配置 | ||
练习:使用SpringCloudBus与RabbitMQ同步多服务配置 | ||
7.微服务架构与实践总结 |
四、授课专家
郑老师 微服务架构资深讲师,咨询服务总监,PMP,DevOps Mster。1999年毕业于华东理工大学,获得机械工程和软件工程双学位。任华东金融研发部总监,负责中国银联、上海黄金交易所、万达金融等多个客户和项目的方案和服务交付工作。负责银联云资源管理平台、银联云应用开发平台、银联统一运维平台 、黄金交易所管控系统、金交所运维监控系统、万达DevOps系统等多个项目的设计和交付工作。目前任产品部咨询服务总监,对应用开发平台、企业流程平台、SOA架构、微服务架构、DevOps 平台、项目管理与研发管理等方面都有丰富的实践经验。
程老师 CTO,微服务架构首席咨询师,国内较早倡导和实践微服务的先行者,多次受邀在大型技术会议主题分享“微服务架构”相关主题。超过10年以上的软件行业经验,从企业应用、互联网应用、服务化平台的架构设计、开发到自动化构建、持续集成、持续交付以及DevOps的转型实施等有较丰富的实践经验。
张老师 近10年的软件系统开发经验,多年系统架构经验;参与开发多个大型项目,有电信某电信网管项目、某O2O电商平台、某征信系统等;对Spring Cloud、微服务、持续集成、持续交付、云平台、分布式系统和移动应用开发方面颇有建树,对容器和分布式集群有丰富的实战经验。热爱技术交流,曾代表公司参加全球微服务架构高峰论坛、QCon等技术沙龙。拥抱开源,多个项目开源在Github与Git@OSC上,并获得开源中国的推荐,例如电子书《使用Spring Cloud与Docker实战微服务》等。
尹老师 《Spring Cloud微服务-全栈技术与案例解析》, 《Spring Cloud微服务 入门 实战与进阶》作者。简单的技术爱好者,先后就职于京东和阿里巴巴。一直从事JAVA服务端开发工作,前端开发工作。主要关注分布式,高并发,后端服务,目前重心在微服务这块。个人成就出书:《Spring Cloud微服务-全栈技术与案例解析》《Spring Cloud微服务 入门 实战与进阶》GitChat: 微服务中的短信服务如何设计?演讲:极部落Java开发者大会,iTechPlus Java开发者大会 分享嘉宾。