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

方向

内容安排

微服务架构及概述

架构的演进历程

微服务诞生背景

微服务架构的优点与挑战

微服务设计原则

微服务架构通览

Spring Boot必知必会

Spring Boot是什么

使用Spring Initialzr快速创建应用

编写第一个Spring Boot应用

Spring Boot配置管理

Spring Boot Actuator

方向

内容安排

Spring Cloud是什么

Spring Cloud是什么

Spring Cloud版本与选择

服务提供者与服务消费者

服务注册与服务发现-Nacos

什么是服务发现?

Nacos简介架构剖析

搭建Nacos Server

Nacos领域模型

Nacos高可用

指定网卡

健康检查

方向

内容安排

客户端侧负载均衡-Ribbon

Ribbon是什么

Ribbon组件详解

引入Ribbon后的架构演进

编写第一个Ribbon Client

使用代码自定义Ribbon的配置

使用配置自定义Ribbon的配置

Eager Load

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

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

声明式的HTTP客户端-Feign

 

Feign简介

编写第一个Feign Client

Feign组件详解

使用代码自定义Feign配置

使用配置自定义Feign的配置

构造多参数请求

方向

内容安排

断路器-Hystrix

雪崩效应是什么?

常用容错手段

Hystrix是什么

为项目整合Hystrix

Feign使用Hystrix

使用FallbackFactory检查回退原因

启用/禁用Hystrix

Hystrix监控

Hystrix Dashboard可视化监控数据

Turbine是什么

使用Turbine聚合监控数据

消息中间件模式

其他容错组件对比与选择

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

API Gateway-Zuul

网关的必要性

Zuul是什么

编写Zuul Server

路由配置详解

文件上传

过滤器详解

Zuul监控与排错

容错与回退

高可用Zuul

API Gateway-Spring Cloud Gateway

Spring Cloud Gateway是什么?

Spring Cloud Gateway上手

Spring Cloud Gateway核心概念

Spring Cloud Gateway架构剖析

路由谓词工厂详解

过滤器工厂详解

全局过滤器详解

扩展Spring Cloud Gateway

如何自研网关

网关基本能力分析

实现方案

编码

配置中心-Spring Cloud Config

 

为什么要使用配置中心

Spring Boot配置管理

Spring Cloud Config简介

编写ConfigServer

集成ConfigClient

Git仓库配置详解

配置属性加解密

配置手动刷新

自动刷新-SpringCloud Bus

Config ServerEureka配合使用

安全

高可用

配置中心-Nacos

为什么要使用配置中心

使用Nacos管理配置

如何实现配置回滚与配置刷新

引导上下文

如何实现应用配置共享

Nacos数据持久化

配置管理最佳实践

Nacos配置管理剖析

微服务拆分方法

领域驱动设计是什么?

使用领域驱动设计拆分微服务

领域驱动设计代码展示

By name.拆分方法

By verb.拆分方法

如何衡量拆分是否合理?

如何从传统架构迁移到微服务?

迁移如何规划?

如何寻找可拆分的模块

绞杀者模式

修葺者模式

如何验证迁移成果?

如何拆分数据库

调用链监控-Spring Cloud Sleuth

为什么要实现调用链跟踪

简介

基本概念

入门示例:整合Sleuth

Sleuth配合ELK

Zipkin简介

Zipkin Server编写

Zipkin UI

微服务整合Zipkin

使用Elasticsearch作为Zipkin Server的后端存储

Docker安装

Docker简介

安装Docker

镜像加速器

Docker常用命令

Dockerfile详解

Dockerfile指令详解

Dockerfile最佳实践

镜像管理

Docker Hub

Docker Registry

第三方Docker RegistryNexus/Habor

Docker工具

使用Maven构建Docker镜像

可视化管理工具

Docker Compose

安装Compose

快速入门

docker-compose.yml常用命令

docker-compose常用命令

在生产环境中使用Docker Compose

使用Docker Compose快速伸缩应用

实战:将Spring Boot快速以容器形式交付

Kubernetes入门

容器编排是什么?为什么要使用Kubernetes

安装Kubernetes

Kubernetes架构与基本组件

Kubernetes命令详解

Kubernetes详解

Pod详解

RC详解

RS详解

Deployment详解

ReplicaSet详解

Job详解

Secret详解

Service详解

存储详解

StatefulSet

每个模型都会以:是什么、解决什么问题、如何使用、最佳实践的形式进行讲解

Kubernetes资源调度

资源分配

扩容与缩容:手动方式(kubectl scale)HPA方式等

亲和性调度

污点与容忍

升级和回滚

Kubernetes周边设施

Produce-Ready

基于Spring Cloud快速开发脚手架

将应用部署到Kubernetes

更加傻瓜化的操作

最佳实践总结



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