使用Spring Cloud与Kubernetes构建微服务架构
Ink Zhou 查看讲师
百林哲咨询(北京)有限公司专家团队成员
现就职于一家大型互联网公司,8年软件系统开发经验,对Spring Cloud、微服务、持续集成、持续交付、容器生态圈常用组件均有涉猎。
浏览:4817次
详情 DETAILS

简介

学习本课程,学员将会对微服务、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 Initialzr快速创建应用

l 编写第一个Spring Boot应用

l Spring Boot配置管理

l Spring Boot Actuator

方向

内容安排

Spring Cloud是什么

l Spring Cloud是什么

l Spring Cloud版本与选择

l 服务提供者与服务消费者

服务注册与服务发现-Nacos

l 什么是服务发现?

l Nacos简介与架构剖析

l 搭建Nacos Server

l Nacos领域模型

l Nacos高可用

l 指定网卡

l 健康检查

方向

内容安排

客户端侧负载均衡-Ribbon

l Ribbon是什么

l Ribbon组件详解

l 引入Ribbon后的架构演进

l 编写第一个Ribbon Client

l 使用代码自定义Ribbon的配置

l 使用配置自定义Ribbon的配置

l Eager Load

l Ribbon扩展:筛选节点、控制流量

l 第二代客户端侧负载均衡器:Spring Cloud LoadBalancer

声明式的HTTP客户端-Feign

 

l Feign简介

l 编写第一个Feign Client

l Feign组件详解

l 使用代码自定义Feign的配置

l 使用配置自定义Feign的配置

l 构造多参数请求

方向

内容安排

断路器-Hystrix

l 雪崩效应是什么?

l 常用容错手段

l Hystrix是什么

l 为项目整合Hystrix

l Feign使用Hystrix

l 使用FallbackFactory检查回退原因

l 启用/禁用Hystrix

l Hystrix监控

l Hystrix Dashboard可视化监控数据

l Turbine是什么

l 使用Turbine聚合监控数据

l 消息中间件模式

l 其他容错组件对比与选择

l 如何切换到其他容错组件?

API Gateway-Zuul

l 网关的必要性

l Zuul是什么

l 编写Zuul Server

l 路由配置详解

l 文件上传

l 过滤器详解

l Zuul监控与排错

l 容错与回退

l 高可用Zuul

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 为什么要使用配置中心

l Spring Boot配置管理

l Spring Cloud Config简介

l 编写ConfigServer

l 集成ConfigClient

l Git仓库配置详解

l 配置属性加解密

l 配置手动刷新

l 自动刷新-SpringCloud Bus

l Config Server与Eureka配合使用

l 安全

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 为什么要实现调用链跟踪

l 简介

l 基本概念

l 入门示例:整合Sleuth

l Sleuth配合ELK

l Zipkin简介

l Zipkin Server编写

l Zipkin UI

l 微服务整合Zipkin

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 最佳实践总结



企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1