收藏

Spring Cloud / Alibaba 微服务架构实战

从架构设计到开发实践,手把手实现,吃透微服务架构与技术

Spring Cloud / Alibaba 微服务架构实战

难度 中级 时长 40小时 学习人数 253 综合评分 10.00

Spring Cloud / Alibaba 微服务架构实战

  • 第1章 课程介绍 试看 3 节 | 7分钟

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

    收起列表

    • 视频: 1-1 关于课程你需要了解的 (06:02) 试看
    • 图文: 1-2 【准备工作】安装IDEA插件
    • 图文: 1-3 课程知识点脑图
  • 第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 + OpenFeign 8 节 | 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 实现网关动态限流

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

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

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

  • 第19章 课程总结

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

本课程持续更新中

试看

全部试看小节



讲师

张勤一 资深架构师

高级技术专家,曾就职于微软、腾讯,目前就职于知名电商互联网公司,拥有丰富的大型项目开发经验。多年IT从业经验,一线软件设计、研发,熟悉C、CPP、Java等开发语言,对Web框架、数据存储、架构设计等有深入的理解和实践。

讲师其他课程

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题