获取资料

Spring Cloud / Alibaba 微服务架构实战

Spring Cloud / Alibaba 微服务架构实战

第1章 课程介绍 4 节 | 7分钟

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

1-1 关于课程你需要了解的 (06:02)

1-2 [准备工作]安装IDEA插件

1-3 课程知识点脑图

1-4 [高手进阶]对微服务架构得一些思考

第2章 理解微服务架构,清楚微服务设计原则3 节 | 20分钟

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

2-1 微服务架构的演进过程 (11:25)

2-2 微服务架构需要遵循的原则 (08:22)

2-3 章节思考题

第3章 设计电商工程,把握全局视角 6 节 | 58分钟

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

3-1 认识领域驱动设计 DDD (06:53)

3-2 电商工程业务解读及微服务模块拆分 (08:03)

3-3 电商工程的第一行代码 (12:37)

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

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

3-6 章节思考题

第4章 Alibaba Nacos:服务注册与配置中心5 节 | 57分钟

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

4-1 部署 Alibaba Nacos 单机版本 (23:22)

4-2 集群化部署 Alibaba Nacos (09:40)

4-3 Alibaba Nacos Client 服务注册与发现 (23:58)

4-4 [查缺补漏]Nacos 的配置与安装

4-5 章节思考题

第5章 SpringBoot Admin 微服务应用监控4 节 | 56分钟

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

5-1 搭建 SpringBoot Admin 监控服务器 (21:35)

5-2 监控中心服务器添加安全访问控制 (17:46)

5-3 SpringBoot Admin 应用监控总结 (16:31)

5-4 章节思考题

第6章 授权、鉴权中心微服务10 节 | 144分钟

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

6-1 授权、鉴权中心微服务功能设计 (11:31)

6-2 搭建授权、鉴权中心微服务 (09:45)

6-3 数据表及 ORM 过程 (25:08)

6-4 生成 RSA256 公钥和私钥对 (20:55)

6-5 基于 JWT RSA256 的授权(1) (21:22)

6-6 基于 JWT RSA256 的授权(2) (09:01)

6-7 基于 JWT RSA256 的鉴权 (11:53)

6-8 验证服务可用性 (13:36)

6-9 授权、鉴权中心微服务总结 (20:49)

6-10 章节思考题

第7章 SpringCloud Gateway 微服务网关 16 节 | 211分钟

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

7-1 第二代微服务网关组件 SpringCloud Gateway (07:25)

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

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

7-4 集成 Alibaba Nacos 实现动态路由配置 (17:32)

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

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

7-7 验证网关事件监听器的可用性 (08:09)

7-8 解读 SpringCloud Gateway Filter (14:51)

7-9 局部过滤器 – 校验 Header 中的 Token (08:06)

7-10 缓存 HTTP 请求 Body 的全局过滤器 (17:40)

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

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

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

7-14 验证网关微服务功能可用性 (16:04)

7-15 SpringCloud Gateway 微服务入口网关总结 (09:42)

7-16 章节思考题

第8章 SpringCloud Sleuth Zipkin:分布式日志追踪9 节 | 79分钟

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

8-1 SpringCloud Sleuth Zipkin 概览 (10:52)

8-2 集成 SpringCloud Sleuth 实现微服务通信跟踪 (18:26)

8-3 搭建 Zipkin Server 实现对跟踪信息的收集 (14:36)

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

8-5 SpringCloud Sleuth 设置采样率、抽样收集策略 (10:48)

8-6 SpringCloud Sleuth Zipkin 分布式日志追踪总结 (10:13)

8-7 Kafka 的安装与运行

8-8 Zipkin 的安装与配置

8-9 章节思考题

第9章 用户账户微服务16 节 | 238分钟

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

9-1 用户身份登录统一拦截 (25:42)

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

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

9-4 用户账户微服务功能设计 (12:18)

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

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

9-7 用户地址与余额服务接口定义 (13:26)

9-8 用户地址相关服务接口实现 (20:42)

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

9-10 用户余额相关服务接口实现 (11:41)

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

9-12 用户账户微服务对外 HTTP 接口 (17:15)

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

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

9-15 用户账户微服务总结 (10:13)

9-16 章节思考题

第10章 商品微服务19 节 | 276分钟

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

10-1 商品微服务功能设计 (15:46)

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

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

10-4 数据表及 ORM 过程 (20:17)

10-5 商品信息对象定义及转换方法 (21:40)

10-6 异步任务与商品服务接口定义 (14:16)

10-7 异步入库商品服务功能实现 (35:45)

10-8 异步任务执行管理器 (15:05)

10-9 异步任务执行监控切面 (13:03)

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

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

10-12 商品相关服务接口实现(下) (13:03)

10-13 异步入库商品功能可用性验证 (19:33)

10-14 商品服务接口可用性测试 (15:23)

10-15 商品微服务对外 HTTP 接口 (09:23)

10-16 验证商品微服务功能可用性 (25:39)

10-17 商品微服务总结 (06:01)

10-18 [查缺补漏]Redis的安装

10-19 章节思考题

第11章 微服务通信 Ribbon OpenFeign8 节 | 122分钟

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

11-1 微服务通信方案解读 (07:37)

11-2 使用 RestTemplate 实现微服务通信 (25:36)

11-3 Ribbon 实现微服务通信及其原理解读 (28:01)

11-4 小试牛刀,SpringCloud OpenFeign 的简单应用 (13:45)

11-5 配置 SpringCloud OpenFeign,让它更好用 (19:36)

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

11-7 微服务通信总结 (06:48)

11-8 章节思考题

第12章 SpringCloud Netflix Hystrix 实现微服务容错18 节 | 238分钟

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

12-1 SpringCloud Netflix Hystrix 概览 (07:01)

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

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

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

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

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

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

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

12-9 注解方式开启 Hystrix 请求缓存 (23:25)

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

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

12-12 注解方式应用 Hystrix 请求合并 (12:33)

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

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

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

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

12-17 SpringCloud Netflix Hystrix 容错组件总结 (07:15)

12-18 章节思考题

第13章 基于 SpringCloud Stream 构建消息驱动微服务14 节 | 171分钟

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

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

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

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

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

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

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

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

13-8 SpringCloud Stream 消息驱动组件概览 (04:53)

13-9 基于 SpringCloud Stream 消息驱动的简单应用 (23:03)

13-10 自定义 Stream 消息通信信道实现定制分发 (21:31)

13-11 SpringCloud Stream 消息分组和消费分区的配置与说明 (19:05)

13-12 SpringCloud Stream 消息驱动组件总结 (06:14)

13-13 [查缺补漏]RocketMQ的安装

13-14 章节思考题

第14章 Seata:分布式事务解决方案12 节 | 125分钟

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

14-1 Spring 声明式事务 @Transactional 注解解读 (10:07)

14-2 Spring 事务 @Transactioal 注解的应用 (20:52)

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

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

14-5 分布式事务理论及解决方案概览 (07:43)

14-6 分布式事务解决方案 Seata AT 模式解读 (10:41)

14-7 Seata Server 单机与高可用模式搭建 (22:21)

14-8 Seata AT 模式的应用 (12:26)

14-9 解读 Seata AT 模式的实现原理 (08:28)

14-10 分布式事务及解决方案 Seata 总结 (09:55)

14-11 [查缺补漏]Seata的安装

14-12 章节思考题

第15章 订单微服务13 节 | 177分钟

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

15-1 订单微服务功能设计 (12:29)

15-2 数据表及 ORM 过程 (14:28)

15-3 订单相关服务接口定义 (15:50)

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

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

15-6 Seata 代理数据源及其配置 (19:03)

15-7 自定义通信信道及物流信息对象编写 (06:50)

15-8 涉及分布式事务的创建订单接口实现 (23:33)

15-9 分页用户订单详情接口实现 (22:07)

15-10 订单微服务对外 HTTP 接口 (06:05)

15-11 验证订单微服务功能可用性 (20:53)

15-12 订单微服务总结 (06:18)

15-13 章节思考题

第16章 物流微服务5 节 | 31分钟

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

16-1 物流微服务功能设计 (09:26)

16-2 数据表及 ORM 过程 (09:34)

16-3 物流相关服务接口定义及实现 (08:25)

16-4 物流微服务总结 (03:23)

16-5 章节思考题

第17章 基于 SpringCloud Alibaba Sentinel 实现网关动态限流15 节 | 206分钟

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

17-1 SpringCloud Alibaba Sentinel 概览及控制台搭建 (10:22)

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

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

17-4 基于 Sentinel Dashboard 配置工程流控规则 (10:34)

17-5 Sentinel 对服务调用的保护 – RestTemplate 篇 (26:56)

17-6 通过 Sentinel 实现对请求的熔断降级 (15:51)

17-7 Sentinel 对 OpenFeign 熔断降级的支持 (11:24)

17-8 Sentinel 结合 Nacos 实现动态限流及限流规则持久化 (14:45)

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

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

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

17-12 Gateway 集成 Sentinel 实现网关限流之本地文件篇 (15:16)

17-13 Gateway 集成 Sentinel 实现网关限流之 Nacos 篇 (11:49)

17-14 SpringCloud Alibaba Sentinel 实现网关动态限流总结 (12:59)

17-15 章节思考题

第18章 微服务工程部署与整体可用性验证6 节 | 59分钟

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

18-1 电商工程配置与微服务启动前置依赖 (11:14)

18-2 SpringBoot 工程自动化运维脚本 (13:49)

18-3 Nginx 转发规则与 Host 配置 (15:17)

18-4 对外服务接口 HTTP 脚本编写.mp4 (11:44)

18-5 工程部署与可用性验证总结 (05:58)

18-6 章节思考题

第19章 课程总结2 节 | 7分钟

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

19-1 课程总结 (06:47)

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

评论0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址