联系

拉勾教育 Spring 响应式编程实战

内容简介

背景介绍

Spring 5 的发布为响应式编程普及和发展带来了红利,基于 Spring 5 内嵌的响应式 Web 框架、响应式数据访问、响应式通信等多种响应式组件,开发者可以轻松构建一个具备及时响应性和弹性的响应式系统。

如今,响应式编程已被国内诸如阿里、腾讯等一线大厂广泛应用,可以说它代表了一种技术发展和演进的趋势。紧跟这一趋势,对于提升开发者的职业层级是一个很好的加分项。

专栏解读

专栏分成六大篇章,共22讲,基于 Spring 5 的框架,对响应式编程的各个组件进行详细讲解,并结合实战案例,帮你更快上手响应式编程:

基本概念篇

专栏将讲解响应式系统和响应式编程的基本概念以及应用场景,并分析响应式编程模型中所包含的响应式流和背压机制,学了这些,你便掌握了实现系统弹性的关键。

此外,这一部分也会讲解 Spring 框架中的响应式编程技术方案,用一个 ReactiveSpringCSS 案例贯穿整个学习过程,为你后面学习响应式Web、响应式数据访问、响应式消息通信和响应式测试等内容做铺垫。

编程框架篇

Project Reactor 是 Spring 5 内置的响应式编程框架。它可以使用 Flux 或 Mono 对象来构建响应式数据流,并提供了高效的响应式操作符。它有多种组合方式、完善的异常处理机制,以及面对背压时候的处理机制、重试机制。因此,成为业界领先的响应式编程框架。学完这一部分,你将懂得如何从开发框架和代码编写上提高系统及时响应性。

技术组建篇-响应式 Web 服务

WebFlux 是 Spring 中全新的 Web 开发框架,相比于传统的 Web 框架,它是一个典型非阻塞异步的框架,它可以运行在诸如 Netty、Undertow 等容器上,因此它的运行环境的可选择性要比传统 Web 框架多得多。

这部分将带你用 WebFlux 来构建响应式 RESTful 服务。并为你讲解如何使用支持响应式流的 WebClient 工具类调用响应式服务以及针对网络通信,如何使用全新的 RSocket 协议来实现响应式数据传输。

学完这一部分,你将掌握构建 Web 服务的系统方法,学会创建响应式系统中 Web 层组件。

技术组件篇-响应式数据访问

传统的 JDBC 并不支持响应式编程模式,而 Spring 家族也专门提供了 Spring Data R2DBC 框架来解决这一问题。这部分会讲解如何使用 Spring Data Reactive 组件来构建响应式数据访问层,并结合案例分别对MongoDB 和 Redis这两款 NoSQL 数据库实现数据操作。

学完这一部分,你可以掌握使用响应式编程技术实现数据访问层的系统方法,并学会在响应式系统中嵌入 MongoDB、Redis 等主流 NoSQL 技术的实现过程。

技术组件篇-响应式消息通信

这部分会讲解如何构建响应式消息通信层。首先,我们将使用 Spring Cloud Stream 框架的响应式版本来实现消息的发布和消费。另外,关于消息通信,专栏也会介绍一系列高级开发主体,为你提供满足日常开发需要的开发技巧。

学完这一模块,你就会使用 Spring Cloud Stream 框架实现跨服务之间的响应式消息通信,同时也会掌握 RabbitMQ 这款消息中间件的使用方法。

技术组件篇-响应式测试

专栏首先会为你详细讲解关于 Project Reactor 的测试方法和工具,然后手把手带你对 Web 层和数据访问层中的响应式组件进行系统测试。学完这一模块,你便掌握了验证各个响应式编程组件的正确性的系统方法,并学会使用 Spring Boot 中提供的各种测试注解完成对 Web 服务层、消息通信层和数据访问层的集成测试。

讲师简介

鉴湘 创业公司 CTO

10 年以上大型 Java EE 和分布式系统构建和优化的经验,曾带领百人团队完成基于 Spring 家族技术体系的亿级用户规模互联网应用系统的建设工作,对基于 Spring 框架进行系统开发和维护有着丰富的实践经验。

拉勾教育 Spring 响应式编程实战

资源目录

——/计算机教程/07拉勾/091-753-Spring 响应式编程实战/

文档

01 追本溯源:响应式编程究竟是一种什么样的技术体系?.md 17.19kb

02 背压机制:响应式流为什么能够提高系统的弹性?.md 15.83kb

03 场景应用:响应式编程能够应用于哪些具体场景?.md 19.39kb

04 案例驱动:如何基于 Spring 框架来学习响应式编程?.md 12.12kb

05 顶级框架:Spring 为什么选择 Reactor 作为响应式编程框架?.md 17.63kb

06 流式操作:如何使用 Flux 和 Mono 高效构建响应式数据流?.md 19.36kb

07 Reactor 操作符(上):如何快速转换响应式流?.md 20.61kb

08 Reactor 操作符(下):如何多样化裁剪响应式流?.md 24.48kb

09 框架升级:WebFlux 比 Web MVC 到底好在哪里?.md 18.07kb

10 WebFlux(上):如何使用注解编程模式构建异步非阻塞服务?.md 26.17kb

11 WebFlux(下):如何使用函数式编程模型构建异步非阻塞服务?.md 24.51kb

12 WebClient:如何实现非阻塞式的跨服务远程调用?.md 30.55kb

13 RSocket:一种新的高性能网络通信协议.md 19.82kb

14 响应式全栈:响应式编程能为数据访问过程带来什么样的变化?.md 25.57kb

15 MongoDB 集成:如何在响应式应用中访问 NoSQL 数据库?.md 27.10kb

16 Redi 集成:如何实现对 Redi 的响应式数据访问?.md 32.17kb

17 R2DBC:关系型数据库能具备响应式数据访问特性吗?.md 20.92kb

18 消息驱动:Spring Cloud Stream 如何为系统提升伸缩性?.md 21.89kb

19 消息发布:如何以响应式的编程方式发送消息?.md 26.91kb

20 消息消费:如何选择可用的高级开发技巧?.md 24.50kb

21 测试方案:如何验证响应式编程组件的正确性?.md 19.69kb

22 测试集成:响应式 Web 应用程序如何进行测试?.md 29.34kb

结束语 以终为始:响应式编程是一种银弹吗?.md 5.78kb

开篇词 响应式编程:紧跟技术趋势,提升系统弹性.md 10.78kb

01 追本溯源:响应式编程究竟是一种什么样的技术体系?.mp4 153.50M

02 背压机制:响应式流为什么能够提高系统的弹性?.mp4 101.83M

03 场景应用:响应式编程能够应用于哪些具体场景?.mp4 138.22M

04 案例驱动:如何基于 Spring 框架来学习响应式编程?.mp4 142.42M

05 顶级框架:Spring 为什么选择 Reactor 作为响应式编程框架?.mp4 143.10M

06 流式操作:如何使用 Flux 和 Mono 高效构建响应式数据流?.mp4 126.15M

07 Reactor 操作符(上):如何快速转换响应式流?.mp4 129.24M

08 Reactor 操作符(下):如何多样化裁剪响应式流?.mp4 112.33M

09 框架升级:WebFlux 比 Web MVC 到底好在哪里?.mp4 150.72M

10 WebFlux(上):如何使用注解编程模式构建异步非阻塞服务?.mp4 120.57M

11 WebFlux(下):如何使用函数式编程模型构建异步非阻塞服务?.mp4 122.34M

12 WebClient:如何实现非阻塞式的跨服务远程调用?.mp4 139.26M

13 RSocket:一种新的高性能网络通信协议.mp4 141.81M

14 响应式全栈:响应式编程能为数据访问过程带来什么样的变化?.mp4 128.95M

15 MongoDB 集成:如何在响应式应用中访问 NoSQL 数据库?.mp4 148.75M

16 Redi 集成:如何实现对 Redi 的响应式数据访问?.mp4 146.74M

17 R2DBC:关系型数据库能具备响应式数据访问特性吗?.mp4 147.15M

18 消息驱动:Spring Cloud Stream 如何为系统提升伸缩性?.mp4 132.21M

19 消息发布:如何以响应式的编程方式发送消息?.mp4 156.98M

20 消息消费:如何选择可用的高级开发技巧?.mp4 143.38M

21 测试方案:如何验证响应式编程组件的正确性?.mp4 148.01M

22 测试集成:响应式 Web 应用程序如何进行测试?.mp4 140.97M

结束语 以终为始:响应式编程是一种银弹吗?.mp4 84.43M

开篇词 响应式编程:紧跟技术趋势,提升系统弹性.mp4 141.60M

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注