简介
学习本课程,学员将会对微服务、Spring Cloud、Docker、Kubernetes有一个系统、全面的认识。通过学习,学员将能掌握相关的知识体系,并能够投入到项目实战中去。
本课程采用实战优先的原则,讲解如何从0开始编写基于Spring Boot/Cloud开发的微服务,并逐步解决项目中的问题,最终实现一个高可用的微服务架构;随后,讲解如何将应用容器化、如何实现资源的合理分配、并将应用部署到Kubernetes平台。
本课程使用目前最新的Spring Cloud Hoxton SR6、Docker 20.03、Kubernetes 1.14进行讲解。
目标
1.理解微服务是什么、解决了什么问题、设计原则、拆分原则、最佳实践
2.深入理解Spring Cloud核心组件常见用法及扩展钩子,能够使用Spring Cloud开发微服务,并具备二次开发Spring Cloud的能力
3.深入理解Docker的核心概念及常用知识点,能够使用Docker常用命令、构建Docker容器,并将应用部署在Docker中
4.深入理解Kubernetes核心概念及常用知识点,能够在Kubernetes中部署应用,并具备解决问题的能力
5.传统设计微服务、开发微服务、部署微服务、交付微服务全流程
适合人群
1.对Spring Cloud感兴趣的Java开发人员
2.对Docker、Kubernetes感兴趣的运维人员
3.对微服务感兴趣的架构师
课程时长
3天(18H)
分享提纲
方向 | 内容安排 |
微服务架构及概述 | l 架构的演进历程 l 微服务诞生背景 l 微服务架构的优点与挑战 l 微服务设计原则 l 微服务架构通览 |
Spring Boot必知必会 | l 编写第一个Spring Boot应用 l Spring Boot配置管理 l Spring Boot Actuator |
方向 | 内容安排 |
Spring Cloud是什么 | l Spring Cloud是什么 l Spring Cloud版本与选择 l 服务提供者与服务消费者 |
服务注册与服务发现-Nacos | l 什么是服务发现? l 搭建Nacos Server l Nacos领域模型 l Nacos高可用 l 健康检查 |
方向 | 内容安排 |
客户端侧负载均衡-Ribbon | l Ribbon组件详解 l Eager Load l Ribbon扩展:筛选节点、控制流量 l 第二代客户端侧负载均衡器:Spring Cloud LoadBalancer |
声明式的HTTP客户端-Feign
| l Feign组件详解 l 使用代码自定义Feign的配置 l 构造多参数请求 |
方向 | 内容安排 |
断路器-Hystrix | l Turbine是什么 l 消息中间件模式 l 其他容错组件对比与选择 l 如何切换到其他容错组件? |
API Gateway-Zuul | l 路由配置详解 |
API Gateway-Spring Cloud Gateway | l Spring Cloud Gateway是什么? l Spring Cloud Gateway上手 l Spring Cloud Gateway核心概念 l Spring Cloud Gateway架构剖析 l 路由谓词工厂详解 l 过滤器工厂详解 l 全局过滤器详解 l 扩展Spring Cloud Gateway |
如何自研网关 | l 网关基本能力分析 l 实现方案 l 编码 |
配置中心-Spring Cloud Config
| l Spring Boot配置管理 l 高可用 |
配置中心-Nacos | l 为什么要使用配置中心 l 使用Nacos管理配置 l 如何实现配置回滚与配置刷新 l 引导上下文 l 如何实现应用配置共享 l Nacos数据持久化 l 配置管理最佳实践 l Nacos配置管理剖析 |
微服务拆分方法 | l 领域驱动设计是什么? l 使用领域驱动设计拆分微服务 l 领域驱动设计代码展示 l By name.拆分方法 l By verb.拆分方法 l 如何衡量拆分是否合理? |
如何从传统架构迁移到微服务? | l 迁移如何规划? l 如何寻找可拆分的模块 l 绞杀者模式 l 修葺者模式 l 如何验证迁移成果? l 如何拆分数据库 |
调用链监控-Spring Cloud Sleuth | l 使用Elasticsearch作为Zipkin Server的后端存储 |
Docker安装 | l Docker简介 l 安装Docker l 镜像加速器 l Docker常用命令 |
Dockerfile详解 | l Dockerfile指令详解 l Dockerfile最佳实践 |
镜像管理 | l Docker Hub l Docker Registry l 第三方Docker Registry:Nexus/Habor |
Docker工具 | l 使用Maven构建Docker镜像 l 可视化管理工具 |
Docker Compose | l 安装Compose l 快速入门 l docker-compose.yml常用命令 l docker-compose常用命令 l 在生产环境中使用Docker Compose l 使用Docker Compose快速伸缩应用 l 实战:将Spring Boot快速以容器形式交付 |
Kubernetes入门 | l 容器编排是什么?为什么要使用Kubernetes? l 安装Kubernetes l Kubernetes架构与基本组件 l Kubernetes命令详解 |
Kubernetes详解 | l Pod详解 l RC详解 l RS详解 l Deployment详解 l ReplicaSet详解 l Job详解 l Secret详解 l Service详解 l 存储详解 l StatefulSet 每个模型都会以:是什么、解决什么问题、如何使用、最佳实践的形式进行讲解 |
Kubernetes资源调度 | l 资源分配 l 扩容与缩容:手动方式(kubectl scale)、HPA方式等 l 亲和性调度 l 污点与容忍 l 升级和回滚 l Kubernetes周边设施 |
Produce-Ready | l 基于Spring Cloud快速开发脚手架 l 将应用部署到Kubernetes l 更加傻瓜化的操作 l 最佳实践总结 |
Ink Zhou
百林哲咨询(北京)有限公司专家团队成员
Ink Zhou
百林哲咨询(北京)有限公司专家团队成员
Ink Zhou
百林哲咨询(北京)有限公司专家团队成员
Ink Zhou
百林哲咨询(北京)有限公司专家团队成员
Ink Zhou
百林哲咨询(北京)有限公司专家团队成员