4006-998-758
3000+课程任你选择
使用Spring Cloud与Istio构建微服务架构
研发学院 体系架构设计 产品经理
王志远

对Spring Cloud、微服务、持续集成、持续交付、容器生态圈常用组件均有涉猎。 目前的研究重心:Spring Cloud、Docker、Kubernetes,及其相关生态的技术,并总结项目落地过程中遇到的坑。 出版著作 著有《Spring Cloud与Docker微服务架构实战》一书,是2017年十佳畅销书之一,也是国内第一本Spring Cloud相关书籍。 历任Java高级开发、架构师、高级架构师、技术专家。热爱技术交流,曾代表公司参加全球微服务架构高峰论坛、QCon等技术沙龙。拥抱开源,多个项目开源在Github与Git@OSC上,并有个人Side Project微信小程序,分享干货。 


查看老师详情
课程内容


课程简介


习本课程,学员将会对微服务、Spring Cloud、Docker、Kubernetes有一个系统、全面的认识。通过学习,学员将能掌握Cloud Native(云原生)相关的知识体系,并能够投入到项目实战中去。

本课程采用实战优先的原则,讲解如何从0开始编写基于Spring Boot/Cloud开发的微服务,并逐步解决项目中的问题,最终实现一个高可用的微服务架构;随后,讲解如何将应用容器化、如何实现资源的合理分配、并将应用部署到Kubernetes平台。

 

课程目标 


理解微服务是什么、解决了什么问题、设计原则、拆分原则、最佳实践

深入理解Spring Cloud核心组件常见用法及扩展钩子,能够使用Spring Cloud开发微服务,并具备二次开发Spring Cloud的能力

Docker、Kubernetes只会提一下,容器生态主要探讨Istio

 

课程大纲


主题

内容

时间

微服务架构及概述

l 架构的演进历程

l 微服务诞生背景

l 微服务架构的优点与挑战

l 微服务设计原则

l 微服务架构通览

0.5h

Spring Boot必知必会

l Spring Boot是什么

l 使用Spring Initialzr快速创建应用

l 编写第一个Spring Boot应用

l Spring Boot配置管理

l Spring Boot Actuator

0.5h

Spring Cloud是什么

l Spring Cloud是什么

l Spring Cloud版本、选择与注意点

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

0.5h

服务注册与服务发现-Nacos

l 什么是服务发现?

l Nacos简介与架构剖析

l 搭建Nacos Server

l Nacos领域模型

l Nacos高可用

l 指定网卡

l 健康检查

l 经验分享:多个环境如何隔离?

l 经验分享:微服务个数太多导致心跳压力如何解决?

1h

客户端侧负载均衡-Spring Cloud LoadBalancer

l Spring Cloud LoadBalancer是什么

l Spring Cloud LoadBalancer上手

l Spring Cloud LoadBalancer API

l 扩展:编写自己的负载均衡规则

l 扩展:实现灰度发布

1h

声明式的HTTP客户端-Feign

l Feign简介

l 编写第一个Feign Client

l Feign组件详解

l Feign配置自定义

l 构造多参数请求

l 扩展Feign:通用逻辑、日志处理、编解码器

1h

断路器-Hystrix

l 雪崩效应是什么?

l 常见容错方案

l 使用Sentinel实现容错

l Sentinel控制台

l 流控规则详解

l 降级规则详解

l 热点规则详解

l 系统规则详解

l 授权规则详解

l Sentinel与控制台通信原理剖析

l Sentinel API详解

l SentinelResource注解详解

l RestTemplate整合Sentinel

l Feign整合Sentinel

l 生产环境使用Sentinel

l 扩展:实现区分来源

l 扩展:编写自己的容错组件

1.5h

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 经验分享:网关的误区(谈谈网关与ESB)

1h

如何自研网关

l 网关基本能力分析

l 实现方案

l 编码

这块主要是考虑目前Zuul已不维护;Spring Cloud Gateway很多团队Hold不住(基于Netty + Reactor + WebFlux,曲线有点高),所以提供额外的思路,如果不需要可以去掉

0.5h

分布式事务-Seata

l Seata是什么

l 整合Seata

l AT模式实现事务

l TCC模式实现事务

l Saga模式实现事务

l 基于MQ的分布式事务

l 经验:各种模式如何选择?

l 经验:另一条路:放弃分布式事务

1.5h

微服务安全

l 微服务安全常用方案对比与选择

l 无状态VS有状态

l 处处安全方案与实现

l 外部无状态,内部有状态方案与实现

l 内部裸奔方案与实现

l 裸奔方案增强版与实现

l 分享:我司方案

l 基于Spring Cloud Gateway实现微服务安全

1.5h

配置中心-Nacos

l 为什么要使用配置中心

l 使用Nacos管理配置

l 配置回滚与配置刷新

l 引导上下文

l 如何实现应用配置共享

l Nacos数据持久化

l Nacos配置管理剖析

l 经验分享:配置管理最佳实践

1h

微服务拆分方法

l 领域驱动设计是什么?

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

l 领域驱动设计代码展示

l By name.拆分方法

l By verb.拆分方法

l 如何衡量拆分是否合理?

1.5h

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

l 迁移如何规划?

l 如何寻找可拆分的模块

l 绞杀者模式与实现

l 修葺者模式与实现

l 数据库拆分与迁移方案

l 如何验证迁移成果?

1.5h

调用链监控

l 以Skywalking为例演示一下,通过沟通发现团队短期之内可能比较难将类似工具投入生产,时间投入半小时

0.5h

Docker与Kubernetes

l 带一下,聊聊K8s大致提供的能力(服务发现、资源调度等),为Istio做铺垫

0.5h

Istio入门

l Service Mesh是什么

l Istio是什么

l Istio架构及组件(Pilot、Mixer、Citadel、Sidecar(Envoy))

l Istio后期架构改进

l 上手Istio

1h

Istio常用功能

l 应用接入Istio

l Istio Dashboard

l Grafana

l Prometheus

l Jaeger

l Kiali

1.5h

这块过一下Istio的核心功能

流量控制

l 用Istio实现金丝雀部署

l 用Istio实现蓝绿部署

l 用Istio实现滚动部署

l 用Istio实现超时控制

l 用Istio实现重试

l 用Istio实现入口流量管理

l 用Istio实现熔断

l 用Istio实现流量复制

l 用Istio实现限流

2h

这块用Istio解决项目里面常见的问题

课程总结

l 技术趋势发展洞见

l 课程总结与答疑

0.5h


返回上一级