课程简介
作为一种新的设计和架构理念,微服务自2014年首次提出就引发了业界激烈的讨论。同时,Docker技术的迅速发展,也让微服务架构的实施变得更加容易。相比于传统的单体式应用而言,微服务这种小而化之、互相连接的设计理念不仅能让复杂应用的构建变得更加灵活,更能帮助创业企业在面对市场的高度不确定性时,快速推出新产品,低成本试错。那么,企业究竟该如何去设计、开发和部署微服务到自己的业务中去?如何做好服务发现和服务治理呢?
目标收益
系统全面地了解和学习微服务架构的设计及原生云应用开发方法等
1.学习掌握微服务架构的概念与本质
2.使用Springboot/SpringCloud构建案例
3.使用Docker发布服务
4.使用Docker在开发环境中运行多个服务
5.使用openstack对docker进行管理
6.学习掌握微服务的测试策略与
7.学习掌握微服务的安全机制
8.学习掌握微服务间的异步通信机制
9.学习了解微服务的监控与告警
10.学习掌握微服务架构的日志聚合
培训对象
CIO、IT经理、企业架构师、IT架构师、方案架构师、开发工程师等
课程大纲
第一天上午 微服务架构概述 |
1.微服务架构的定义 微服务架构最主要的两个特征 细粒度的特征 独立性的特征 为什么微服务架构需要独立变更和独立部署 2.微服务架构的剖析 微服务架构介绍 微服务架构的本质与优势 微服务与SOA 微服务的设计原则 |
第一天下午 基于微服务构建活动实践 |
3.需求理解与分析 技术选型(Java/SpringBoot/Springloud/REST/HAL/MongoDB) 服务定义与划分 服务支撑组件介绍(服务注册,集中化配置,断路器,服务网关) 思考/练习 |
第二天上午 微服务应用实践 |
4.SpringBoot介绍 SpringBoot的核心功能 SpringBootDemo 练习 5.SpringCloud应用实践 SpringCloud介绍 SpringCloud的核心功能 SpringCloudDemo 练习 6.REST/HAL应用实践 REST介绍 HAL介绍 为什么使用HAL HALBrowser实践 7.Docker应用实践 Docker介绍 Docker的常用命令 构建Dockerfile 使用Docker-compose |
第二天下午 微服务应用实践 |
8.构建第一个微服务 使用Spring-Data-REST实现Event-Service服务 使用HAL完成服务间同步通信 使用HAL-Browser浏览服务接口 使用MongoDB存储数据 使用Docker-compose运行服务 构建Dockerfile 练习 |
第三天上午 微服务应用实践 |
9.微服务的集中化配置(centralized-config) 为什么要集中化配置 集中化配置的实现原理与方式 使用SpringCloudConfig实现集中化配置 使用SpringCloudBus与RabbitMQ同步多服务配置 SpringCloudConfigDemo 练习 10.微服务的注册与发现(service-discovery) 为什么要服务注册与发现 服务注册与服务发现的实现方式 使用NetflixEureka/SpringCloud实现服务注册与发现 使用NetflixRibbon/SpringCloud实现客户端负载均衡 使用NetflixFeign/SpringCloud实现申明式REST调用 练习 |
第三天下午 微服务应用实践 |
11.微服务的容错处理(circurt-breaker) 微服务下的可用性与故障蔓延(FailureCascading) 断路器模式的原理与实现 使用NetflixHystrix/SpringCloud实现容错 使用NetflixTurbie实现监控聚合 练习 12.构建微服务网关 为什么需要微服务网关 微服务网关的实现方案 使用NetflixZuul实现微服务网关 练习 13.微服务架构与实践总结 微服务的发布与部署 基于微服务的活动报名系统 练习 |
第一天上午 微服务架构概述 1.微服务架构的定义 微服务架构最主要的两个特征 细粒度的特征 独立性的特征 为什么微服务架构需要独立变更和独立部署 2.微服务架构的剖析 微服务架构介绍 微服务架构的本质与优势 微服务与SOA 微服务的设计原则 |
第一天下午 基于微服务构建活动实践 3.需求理解与分析 技术选型(Java/SpringBoot/Springloud/REST/HAL/MongoDB) 服务定义与划分 服务支撑组件介绍(服务注册,集中化配置,断路器,服务网关) 思考/练习 |
第二天上午 微服务应用实践 4.SpringBoot介绍 SpringBoot的核心功能 SpringBootDemo 练习 5.SpringCloud应用实践 SpringCloud介绍 SpringCloud的核心功能 SpringCloudDemo 练习 6.REST/HAL应用实践 REST介绍 HAL介绍 为什么使用HAL HALBrowser实践 7.Docker应用实践 Docker介绍 Docker的常用命令 构建Dockerfile 使用Docker-compose |
第二天下午 微服务应用实践 8.构建第一个微服务 使用Spring-Data-REST实现Event-Service服务 使用HAL完成服务间同步通信 使用HAL-Browser浏览服务接口 使用MongoDB存储数据 使用Docker-compose运行服务 构建Dockerfile 练习 |
第三天上午 微服务应用实践 9.微服务的集中化配置(centralized-config) 为什么要集中化配置 集中化配置的实现原理与方式 使用SpringCloudConfig实现集中化配置 使用SpringCloudBus与RabbitMQ同步多服务配置 SpringCloudConfigDemo 练习 10.微服务的注册与发现(service-discovery) 为什么要服务注册与发现 服务注册与服务发现的实现方式 使用NetflixEureka/SpringCloud实现服务注册与发现 使用NetflixRibbon/SpringCloud实现客户端负载均衡 使用NetflixFeign/SpringCloud实现申明式REST调用 练习 |
第三天下午 微服务应用实践 11.微服务的容错处理(circurt-breaker) 微服务下的可用性与故障蔓延(FailureCascading) 断路器模式的原理与实现 使用NetflixHystrix/SpringCloud实现容错 使用NetflixTurbie实现监控聚合 练习 12.构建微服务网关 为什么需要微服务网关 微服务网关的实现方案 使用NetflixZuul实现微服务网关 练习 13.微服务架构与实践总结 微服务的发布与部署 基于微服务的活动报名系统 练习 |