使用Spring Cloud与Kubernetes
构建微服务架构培训课程    
课程简介:
学习本课程,学员将会对微服务、Spring Cloud、Docker、Kubernetes有一个系统、全面的认识。通过学习,学员将能掌握相关的知识体系,并能够投入到项目实战中去。
培训目标: 
·使学员理解微服务是什么、有什么好处、设计原则、拆分原则
·深入理解Spring Cloud核心组件及相关扩展钩子,能够使用Spring Cloud开发微服务,并具备二次开发Spring Cloud的能力
·深入理解Docker核心概念及常用知识点,能够使用Docker常用命令、构建Docker容器,并将应用部署在Docker中
·深入理解Kubernetes核心概念及常用知识点,能够在Kubernetes中部署应用,并具备解决问题的能力
 培训对象
·对Spring Cloud感兴趣的Java开发人员
·对Docker感兴趣的运维人员
·对微服务感兴趣的架构师
 学员基础
·了解Java,否则Spring Cloud相关内容动手实战会有一些困难
·了解分布式应用,或对分布式架构感兴趣
 培训内容:
| 
|  方向 | 内容安排 |  
| 微服务架构及概述 | ·  架构的演进史 ·  微服务诞生背景 ·  微服务架构的优点与挑战 ·  微服务的设计原则 如何拆分微服务 |  
| Spring Boot概述 | ·  Spring Boot简介、诞生背景、特点 ·  使用SpringInitialzr快速创建应用 ·  编写第一个SpringBoot应用 ·  Spring Boot配置方式、profile、健康检查 |  
| 方向  | 内容安排 |  
| Spring Cloud概述 | ·  Spring Cloud简介、核心功能、特点 ·  Spring Cloud版本简介及与Spring Boot的兼容性 ·  Spring Cloud子项目与提供的能力 ·  服务提供者与服务消费者 |  
| 服务注册与服务发现-Eureka | ·  服务注册与服务发现作用与原理剖析 ·  Eureka简介与架构剖析 ·  编写Eureka Server ·  高可用Eureka ·  用户认证 ·  元数据【重要的扩展钩子】 ·  RESTful API【重要的能力钩子】 ·  自我保护模式【重要特性】 ·  指定网卡 ·  健康检查【作用、存在的坑以及总结】 |  
| 方向  | 内容安排 |  
| 客户端侧负载均衡-Ribbon  | ·  负载均衡原理剖析 ·  Ribbon简介 ·  原生Ribbon API ·  引入Ribbon后的架构演进 ·  编写第一个Ribbon Client ·  使用代码自定义Ribbon的配置 ·  使用配置自定义Ribbon的配置 ·  Eager Load |  
| 声明式的HTTP客户端-Feign  | ·  Feign简介 ·  编写第一个Feign Client ·  使用代码自定义Feign的配置 ·  使用配置自定义Feign的配置 ·  继承特性 ·  压缩 ·  日志 ·  构造多参数请求 |  
| 方向  | 内容安排 |  
| 断路器-Hystrix  | ·  浅谈雪崩效应及危害 ·  如何容错 ·  Hystrix简介 ·  整合Hystrix ·  Hystrix配置详解 ·  Feign使用Hystrix ·  使用FallbackFactory检查回退原因 ·  Feign启用/禁用Hystrix ·  Hystrix监控 ·  Hystrix Dashboard可视化监控数据 ·  Turbine简介 ·  编写Turbine Server ·  消息中间件模式  |  
| API Gateway-Zuul  | ·  网关的必要性 ·  简介 ·  入门示例:编写一个API Gateway ·  /routes端点 ·  路由配置详解 ·  /filters端点 ·  Zuul的安全与Header传递 ·  文件上传 ·  过滤器详解 ·  容错与回退 ·  高可用Zuul ·  整合异构平台-Sidecar ·  Debug Zuul  |  
| 配置中心-SpringCloud Config  | ·  为什么要使用配置中心 ·  Spring Cloud Config简介 ·  编写ConfigServer ·  集成ConfigClient ·  Git仓库配置详解 ·  配置属性加解密 ·  配置手动刷新 ·  自动刷新-SpringCloud Bus ·  Config Server与Eureka配合使用 ·  安全 ·  高可用  |  
| 调用链监控-SpringCloud Sleuth  | ·  为什么要实现调用链跟踪 ·  简介 ·  基本概念 ·  入门示例:整合Sleuth ·  Sleuth配合ELK ·  Zipkin简介 ·  Zipkin Server编写 ·  Zipkin UI ·  微服务整合Zipkin ·  消息中间件模式整合Zipkin ·  使用Elasticsearch作为Zipkin Server的后端存储 ·  生成依赖关系图 |  
| Docker入门  | ·  Docker简介 ·  安装Docker ·  镜像加速器 ·  Docker常用命令 |  
| Dockerfile详解  | ·  Dockerfile指令详解 ·  Dockerfile最佳实践  |  
| 镜像管理  | ·  Docker Hub ·  Docker Registry ·  第三方Docker Registry:Nexus/Habor  |  
| Docker工具  | ·  使用Maven构建Docker镜像 可视化管理工具 |  
| Docker Compose  | ·  Compose的安装 ·  快速入门 ·  docker-compose.yml常用命令 ·  docker-compose常用命令 ·  控制服务启动顺序 ·  在生产环境中使用Docker Compose ·  使用Docker Compose伸缩应用  |  
| Kubernetes入门  | ·  安装(minikube) ·  Kubernetes架构 ·  基本组件及常用插件 Kubernetes命令详解 |  
| Kubernetes术语及详解  | 主要是根据Kuberntes官方文档描述进行系统讲解:  ·  Pod详解 ·  RC ·  RS ·  Deployment ·  ReplicaSet ·  Job ·  Secret ·  Service ·  存储 ·  StatefulSet等 |  
| Kubernetes资源调度  | ·  资源分配 ·  扩容与缩容:手动方式(kubectl scale)、HPA方式等 ·  各种调度方式,例如亲和性调度 ·  升级和回滚 |    |