Loading
0

Spring Cloud / Alibaba 微服务架构实战

内容纲要

课程介绍

没有实战过微服务架构的人,不能说真懂微服务。因为除了技术的实现,这其中还涉及了难以量化的业务拆分和组件化思想。这门课就带大家以电商工程为例,基于Spring Cloud / SpringCloud Alibaba ,融合常用组件/中间件,进行微服务架构设计和开发,获取真正的企业级微服务解决方案。

目录

第1章 课程介绍 试看
本章中,将会对课程的内容做介绍说明,总览课程中涉及到的知识点和学习方向。

1-1 关于课程你需要了解的

1-2 【准备工作】安装IDEA插件

1-3 课程知识点脑图

第2章 理解微服务架构,清楚微服务设计原则

微服务在工程应用领域不是一开始就出现的,本章将带你领略工程架构的升级、改造历史;同时,对于微服务架构的工程来说,也需要学习、掌握其必须遵循的设计原则。

2-1 微服务架构的演进过程

2-2 微服务架构需要遵循的原则

2-3 章节思考题

第3章 设计电商工程,把握全局视角

课程以电商工程为例落地微服务解决方案,本章将会使用 DDD 的思想对电商工程的业务、拆分方案进行解释说明;同时,会进入到编码阶段,搭建电商工程、实践通用工具与通用配置两大基础模块。

3-1 认识领域驱动设计 DDD

3-2 电商工程业务解读及微服务模块拆分

3-3 电商工程的第一行代码

3-4 工程通用与配置两大基础模块(上)

3-5 工程通用与配置两大基础模块(下)

3-6 章节思考题

第4章 Alibaba Nacos:服务注册与配置中心

我们将会使用 Alibaba Nacos 来作为服务治理的工具,实现服务注册与服务发现;同时,应用 Nacos 的配置管理功能实践动态配置解决方案。

4-1 部署 Alibaba Nacos 单机版本

4-2 集群化部署 Alibaba Nacos

4-3 Alibaba Nacos Client 服务注册与发现

4-4 Nacos 的配置与安装

4-5 章节思考题

第5章 SpringBoot Admin 微服务应用监控

应用监控是一个完备的系统所不可或缺的工具,本章将会带你使用 SpringBoot Admin 搭建监控模块,并辅以安全访问控制保证服务模块的可控性。

5-1 搭建 SpringBoot Admin 监控服务器

5-2 监控中心服务器添加安全访问控制

5-3 SpringBoot Admin 应用监控总结

5-4 章节思考题

第6章 授权、鉴权中心微服务

授权、鉴权即实现对用户的身份校验,是任何一个工程的基础服务。本章将会使用 JWT + RSA256 实现工程的授权、鉴权,也是我们电商工程的第一个微服务。

6-1 授权、鉴权中心微服务功能设计

6-2 搭建授权、鉴权中心微服务

6-3 数据表及 ORM 过程

6-4 生成 RSA256 公钥和私钥对

6-5 基于 JWT + RSA256 的授权(1)

6-6 基于 JWT + RSA256 的授权(2)

6-7 基于 JWT + RSA256 的鉴权

6-8 验证服务可用性

6-9 授权、鉴权中心微服务总结

6-10 章节思考题

第7章 SpringCloud Gateway 微服务网关

Gateway 是 SpringCloud 框架的第二代网关,也是目前网关实现上的事实标准。这一章我会解析 Gateway 的组成,包含路由、断言及过滤器。同时,在 Gateway 中向授权、鉴权微服务请求转发,实现登录和注册功能。另外,我们使用 Nacos 的配置管理功能实现了动态路由配置。

7-1 第二代微服务网关组件 SpringCloud Gateway

7-2 谓词 Predicate 的原理与应用(上)

7-3 谓词 Predicate 的原理与应用(下)

7-4 集成 Alibaba Nacos 实现动态路由配置

7-5 注册网关事件监听器(上)

7-6 注册网关事件监听器(下)

7-7 验证网关事件监听器的可用性

7-8 解读 SpringCloud Gateway Filter

7-9 局部过滤器 - 校验 Header 中的 Token

7-10 缓存 HTTP 请求 Body 的全局过滤器

7-11 登录、注册、鉴权全局过滤器(上)

7-12 登录、注册、鉴权全局过滤器(下)

7-13 代码与文件两种方式配置网关路由

7-14 验证网关微服务功能可用性

7-15 SpringCloud Gateway 微服务入口网关总结

7-16 章节思考题

第8章 SpringCloud Sleuth + Zipkin:分布式日志追踪 9 节 | 79分钟
微服务架构下的工程不可避免的会存在微服务通信,即微服务之间存在功能依赖,那么,就需要有工具或组件实现分布式链路、日志追踪。SpringCloud Sleuth 通过 Span 和 Trace 实现了链路追踪,Zipkin 则能够收集并图形化展示这些链路数据。...

8-1 SpringCloud Sleuth + Zipkin 概览

8-2 集成 SpringCloud Sleuth 实现微服务通信跟踪

8-3 搭建 Zipkin Server 实现对跟踪信息的收集

8-4 SpringCloud Sleuth 整合 Zipkin 实现分布式链路跟踪、收集

8-5 SpringCloud Sleuth 设置采样率、抽样收集策略

8-6 SpringCloud Sleuth + Zipkin 分布式日志追踪总结

8-7 Kafka 的安装与运行

8-8 Zipkin 的安装与配置

8-9 章节思考题

第9章 用户账户微服务

用户账户是我们要实现的第一个功能微服务,在此之前我们还需要做一些准备工作:用户身份统一拦截获取请求用户信息、引入 Swagger 生成工程文档。之后,实现用户地址和用户余额两大核心功能,并完成微服务功能可用性测试。...

9-1 用户身份登录统一拦截

9-2 集成 Swagger2 实现代码即文档(上)

9-3 集成 Swagger2 实现代码即文档(下)

9-4 用户账户微服务功能设计

9-5 数据表及 ORM 过程(1)

9-6 数据表及 ORM 过程(2)

9-7 用户地址与余额服务接口定义

9-8 用户地址相关服务接口实现

9-9 用户地址服务接口可用性测试(测试用例)

9-10 用户余额相关服务接口实现

9-11 用户余额服务接口可用性测试(测试用例)

9-12 用户账户微服务对外 HTTP 接口

9-13 验证用户账户微服务功能可用性(上)

9-14 验证用户账户微服务功能可用性(下)

9-15 用户账户微服务总结

9-16 章节思考题

第10章 商品微服务

商品微服务提供两大核心功能:异步入库商品信息与商品信息查询。为了对异步任务进行监控管理,我们需要实现监控切面与代理执行管理器;商品信息查询是非常频繁的操作,我们使用 Redis 缓存数据,提高工程的并发性能。

10-1 商品微服务功能设计

10-2 商品属性枚举类及转换器定义(上)

10-3 商品属性枚举类及转换器定义(下)

10-4 数据表及 ORM 过程

10-5 商品信息对象定义及转换方法

10-6 异步任务与商品服务接口定义

10-7 异步入库商品服务功能实现

10-8 异步任务执行管理器

10-9 异步任务执行监控切面

10-10 商品相关服务接口实现(上)

10-11 商品相关服务接口实现(中)

10-12 商品相关服务接口实现(下

10-13 异步入库商品功能可用性验证

10-14 商品服务接口可用性测试

10-15 商品微服务对外 HTTP 接口

10-16 验证商品微服务功能可用性

10-17 商品微服务总结

10-18 【查缺补漏】Redis的安装

10-19 章节思考题

第11章 微服务通信 Ribbon + OpenFeign

微服务架构下的工程存在多个独立部署的微服务,这些微服务之间不可避免的会存在功能依赖,所以,我们需要学习微服务间的通信机制。企业级中最流行的通信方案是 OpenFeign,它是基于 Ribbon 实现的,且最底层都是依赖 RestTemplate,我会在这一章讲解它们的前世今生。

11-1 微服务通信方案解读

11-2 使用 RestTemplate 实现微服务通信

11-3 Ribbon 实现微服务通信及其原理解读

11-4 小试牛刀,SpringCloud OpenFeign 的简单应用

11-5 配置 SpringCloud OpenFeign,让它更好用

11-6 通过 Feign 的原生 API 解析其实现原理

11-7 微服务通信总结

11-8 章节思考题

第12章 SpringCloud Netflix Hystrix 实现微服务容错18 节 | 238分钟
微服务之间存在依赖,那么就一定要考虑下游服务的可用性,即要做好熔断、降级和隔离。Hystrix 是目前企业级中应用最为广泛的组件,我除了会讲解基本的容错功能之外,还会引入请求缓存、请求合并等高级特性。

12-1 SpringCloud Netflix Hystrix 概览

12-2 使用注解方式实现服务的容错、降级(上)

12-3 使用注解方式实现服务的容错、降级(下)

12-4 使用编程方式实现服务的容错、降级(上)

12-5 使用编程方式实现服务的容错、降级(中)

12-6 使用编程方式实现服务的容错、降级(下)

12-7 编程方式开启 Hystrix 请求缓存(上)

12-8 编程方式开启 Hystrix 请求缓存(下)

12-9 注解方式开启 Hystrix 请求缓存

12-10 编程方式应用 Hystrix 请求合并(上)

12-11 编程方式应用 Hystrix 请求合并(下)

12-12 注解方式应用 Hystrix 请求合并

12-13 OpenFeign 集成 Hystrix 开启后备模式(1)

12-14 OpenFeign 集成 Hystrix 开启后备模式(2)

12-15 使用 Hystrix 监控面板监测客户端容错(上)

12-16 使用 Hystrix 监控面板监测客户端容错(下)

12-17 SpringCloud Netflix Hystrix 容错组件总结

12-18 章节思考题

第13章 基于 SpringCloud Stream 构建消息驱动微服务

消息队列是构建消息驱动服务的基础,不过,不同的团队、项目可能偏好于不同的消息中间件,例如 Kafka、RocketMQ 等等。那么,为了屏蔽这些中间件的底层细节,Stream 组件使用统一的 API 与它们进行交互,实现了一套代码可以应用于多种消息中间件的能力。...

13-1 SpringBoot 集成 Kafka 构建消息驱动微服务(上)

13-2 SpringBoot 集成 Kafka 构建消息驱动微服务(中)

13-3 SpringBoot 集成 Kafka 构建消息驱动微服务(下)

13-4 SpringBoot 集成 RocketMQ 构建消息驱动微服务(1)

13-5 SpringBoot 集成 RocketMQ 构建消息驱动微服务(2)

13-6 SpringBoot 集成 RocketMQ 构建消息驱动微服务(3)

13-7 SpringBoot 集成 RocketMQ 构建消息驱动微服务(4)

13-8 SpringCloud Stream 消息驱动组件概览

13-9 基于 SpringCloud Stream 消息驱动的简单应用

13-10 自定义 Stream 消息通信信道实现定制分发

13-11 SpringCloud Stream 消息分组和消费分区的配置与说明

13-12 SpringCloud Stream 消息驱动组件总结

13-13 【查缺补漏】RocketMQ的安装

13-14 章节思考题

第14章 Seata:分布式事务解决方案

微服务工程不可避免的会存在多个本地事务结合在一起的场景,要让这些本地事务同时提交、同时回滚,就变成了分布式事务。Alibaba Seata 是目前企业级中最流行、应用最广泛的分布式事务解决方案,我们的课程中也将会引入 Seata 来解决分布式事务问题。...

14-1 Spring 声明式事务 @Transactional 注解解读

14-2 Spring 事务 @Transactioal 注解的应用

14-3 @Transactioal 注解失效的场景(上)

14-4 @Transactioal 注解失效的场景(下)

14-5 分布式事务理论及解决方案概览

14-6 分布式事务解决方案 Seata AT 模式解读

14-7 Seata Server 单机与高可用模式搭建

14-8 Seata AT 模式的应用

14-9 解读 Seata AT 模式的实现原理

14-10 分布式事务及解决方案 Seata 总结

14-11 【查缺补漏】Seata的安装

14-12 章节思考题

第15章 订单微服务

订单微服务是电商工程的核心微服务,这其中会引入微服务通信、微服务容错、消息驱动与分布式事务,它会将电商工程中所有的微服务都串联在一起,共同完成用户的下单操作。所以,在实现这个微服务时,要认真考虑这里面要解决的问题,以及使用到的技术、工具和组件。...

15-1 订单微服务功能设计

15-2 数据表及 ORM 过程

15-3 订单相关服务接口定义

15-4 远程服务调用 Feign 接口定义及配置(1)

15-5 远程服务调用 Feign 接口定义及配置(2)

15-6 Seata 代理数据源及其配置

15-7 自定义通信信道及物流信息对象编写

15-8 涉及分布式事务的创建订单接口实现

15-9 分页用户订单详情接口实现

15-10 订单微服务对外 HTTP 接口

15-11 验证订单微服务功能可用性

15-12 订单微服务总结

15-13 章节思考题

第16章 物流微服务

物流微服务是订单微服务的下游服务,它们之间通过 Stream 结合消息中间件的模式构建了通信通道。创建订单完毕之后,由物流微服务异步生成物流单,并可以在此基础上做更多的扩展,例如:推送消息、构造物流清单等等。

16-1 物流微服务功能设计

16-2 数据表及 ORM 过程

16-3 物流相关服务接口定义及实现

16-4 物流微服务总结

16-5 章节思考题

第17章 基于 SpringCloud Alibaba Sentinel 实现网关动态限流

支持高并发的系统一定要做好限流的工作,微服务架构下,当然是把限流的功能提前到网关层面,Alibaba Sentinel 目前被广泛的应用在服务限流的实现上,我同时会将 Gateway、Sentinel、Nacos 结合在一起,实现网关动态限流。

17-1 SpringCloud Alibaba Sentinel 概览及控制台搭建

17-2 基于硬编码应用 Sentinel 的限流功能(1)

17-3 基于硬编码应用 Sentinel 的限流功能(2)

17-4 基于 Sentinel Dashboard 配置工程流控规则

17-5 Sentinel 对服务调用的保护 - RestTemplate 篇

17-6 通过 Sentinel 实现对请求的熔断降级

17-7 Sentinel 对 OpenFeign 熔断降级的支持

17-8 Sentinel 结合 Nacos 实现动态限流及限流规则持久化

17-9 Gateway 集成 Sentinel 实现网关限流之硬编码篇(1)

17-10 Gateway 集成 Sentinel 实现网关限流之硬编码篇(2)

17-11 Gateway 集成 Sentinel 实现网关限流之硬编码篇(3)

17-12 Gateway 集成 Sentinel 实现网关限流之本地文件篇

17-13 Gateway 集成 Sentinel 实现网关限流之 Nacos 篇

17-14 SpringCloud Alibaba Sentinel 实现网关动态限流总结

17-15 章节思考题

第18章 微服务工程部署与整体可用性验证

工程代码编写完毕之后,就需要考虑工程部署的问题了,课程中会提供部署脚本实现自动化部署和管理,并解释说明工程部署的方案与目的。最后,对完成部署的微服务工程做整体的可用性验证,测试其功能正确、可用。

18-1 电商工程配置与微服务启动前置依赖

18-2 SpringBoot 工程自动化运维脚本

18-3 Nginx 转发规则与 Host 配置

18-4 对外服务接口 HTTP 脚本编写.mp4

18-5 工程部署与可用性验证总结

18-6 章节思考题

第19章 课程总结

这一章我将会梳理课程的所有知识点,对 SpringCloud 和 SpringCloud Alibaba 做总结说明。同时,再去铺开微服务工程的几类问题,并说明这些问题的解决方案、解决思想。

19-1 课程总结

19-2 【高手进阶】对于电商工程,我们可以考虑哪些扩展

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!