课程简介
通过完整的案例,呈现微服务的开发、测试、构建、部署、运维等实践,帮助学员了解微服务的核心、以及实施过程中的问题与应对方案。
课程收益
系统全面地了解和学习微服务架构的设计、云计算与大数据基础平台及原生云应用开发方法等。通过此次课程培训,可使学习者获得如下收益:
1.学习掌握微服务架构的概念与本质;
2.使用Springboot/SpringCloud构建活动报名系统;
3.使用Netflix0SS构建微服务支撑组件(服务注册发现、集中化配置中心、API网关、容错处理);
4.使用Docker发布服务;
5.使用Docker-Compose在开发环境中运行多个服务;
6.学习掌握微服务的测试策略与PACT测试;
7.学习掌握微服务的安全机制与0Auth2.0实现;
8.学习掌握微服务间的异步通信机制;
9.学习了解微服务的监控与告警;
10.学习掌握微服务架构的日志聚合;
11.构建微服务的持续交付流水线
受众人群
了解持续集成实践
对微服务架构实践感兴趣
有1年以上的Java编程经验更优
课程周期
4天(23H)
课程大纲
上午 | 下午 | |
第一天 | 微服务概述 1.微服务的定义 微服务架构最主要的两个特征 细粒度的特征 独立性的特征 为什么微服务架构需要独立变更和独立部署 2.微服务架构的剖析 微服务架构介绍 微服务架构的本质与优势 微服务与SOA 微服务的设计原则 | 微服务架构设计 3.微服务架构整体设计 微服务架构设计原则 微服务架构常见设计模式 微服务粒度设计与拆分 4.微服务网关层设计 网关层的作用 Session管理方案 微服务安全 微服务访问限流 5.微服务服务层设计 服务间通信方式选择 服务的无状态设计 服务的幂等设计 服务间调用的高性能 服务的容错设计 |
第二天 | 微服务相关方案 6.微服务分布式事务设计 分布式事务相关理论剖析 基于补偿的分布式事务方案 基于消息表的分布式事务方案 7.微服务监控与请求跟踪 微服务监控内容与方式 微服务调用跟踪分析常见场景 微服务跟踪监控设计 8.微服务与Docker容器 Docker容器与虚拟化 Docker容器核心原理 Docker容器常见命令与使用场景 Docker Compose介绍 9.微服务测试 微服务测试场景分析 微服务契约测试 | 基于微服务构建活动实践 10.需求理解与分析 技术选型(Java/SpringBoot/Springloud/REST/HAL/MongoDB) 服务定义与划分 服务支撑组件介绍(服务注册,集中化配置,断路器,服务网关) 思考/练习 |
第三天 | 使用微服务运行实践 11.SpringBoot介绍 SpringBoot的核心功能 SpringBootDemo 练习 12.SpringCloud应用实践 SpringCloud介绍 SpringCloud的核心功能 SpringCloudDemo 练习 13.REST/HAL应用实践 REST介绍 HAL介绍 为什么使用HAL HALBrowser实践 | 微服务运用实践 15.构建第一个微服务 使用Spring-Data-REST实现Event-Service服务 使用HAL完成服务间同步通信 使用HAL-Browser浏览服务接口 使用MongoDB存储数据 使用Docker-compose运行服务 构建Dockerfile 练习 |
第四天 | 微服务运用实践 16.微服务的集中化配置(centralized-config) 为什么要集中化配置 集中化配置的实现原理与方式 使用SpringCloudConfig实现集中化配置 使用SpringCloudBus与RabbitMQ同步多服务配置 SpringCloudConfigDemo 练习 17.微服务的注册与发现(service-discovery) 为什么要服务注册与发现 服务注册与服务发现的实现方式 使用NetflixEureka/SpringCloud实现服务注册与发现 使用NetflixRibbon/SpringCloud实现客户端负载均衡 使用NetflixFeign/SpringCloud实现申明式REST调用 练习 | 微服务运用实践 18.微服务的容错处理(circurt-breaker) 微服务下的可用性与故障蔓延(FailureCascading) 断路器模式的原理与实现 使用NetflixHystrix/SpringCloud实现容错 使用NetflixTurbie实现监控聚合 练习 19.构建微服务网关 为什么需要微服务网关 微服务网关的实现方案 使用NetflixZuul实现微服务网关 练习 20.微服务架构与实践总结 微服务的发布与部署 基于微服务的活动报名系统 练习 |