背景介绍
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 框架进行系统开发和维护有着丰富的实践经验。
课程目录
开篇词
- 开篇词 | 响应式编程:紧跟技术趋势,提升系统弹性
基本概念篇
- 01 | 追本溯源:响应式编程究竟是一种什么样的技术体系?
- 02 | 背压机制:响应式流为什么能够提高系统的弹性?
- 03 | 场景应用:响应式编程能够应用于哪些具体场景?
- 04 | 案例驱动:如何基于 Spring 框架来学习响应式编程?
编程框架篇
- 05 | 顶级框架:Spring 为什么选择 Reactor 作为响应式编程框架?
- 06 | 流式操作:如何使用 Flux 和 Mono 高效构建响应式数据流?
- 07 | Reactor 操作符(上):如何快速转换响应式流?
- 08 | Reactor 操作符(下):如何多样化裁剪响应式流?
技术组件篇-响应式 Web 服务
- 09 | 框架升级:WebFlux 比 Web MVC 到底好在哪里?
- 10 | WebFlux(上):如何使用注解编程模式构建异步非阻塞服务?
- 11 | WebFlux(下):如何使用函数式编程模型构建异步非阻塞服务?
- 12 | WebClient:如何实现非阻塞式的跨服务远程调用?
- 13 | RSocket:一种新的高性能网络通信协议
技术组件篇-响应式数据访问
- 14 | 响应式全栈:响应式编程能为数据访问过程带来什么样的变化?
- 15 | MongoDB 集成:如何在响应式应用中访问 NoSQL 数据库?
- 16 | Redis 集成:如何实现对 Redis 的响应式数据访问?
- 17 | R2DBC:关系型数据库能具备响应式数据访问特性吗?
技术组件篇-响应式消息通信
- 18 | 消息驱动:Spring Cloud Stream 如何为系统提升伸缩性?
- 19 | 消息发布:如何以响应式的编程方式发送消息?
- 20 | 消息消费:如何选择可用的高级开发技巧?
技术组件篇-响应式测试
- 21 | 测试方案:如何验证响应式编程组件的正确性?
- 22 | 测试集成:响应式 Web 应用程序如何进行测试?
结束语
- 结束语 | 以终为始:响应式编程是一种银弹吗?
免责声明:
①本站所有资源均由用户自发贡献上传,用户自发分享网盘链接,仅限用于试看学习和参考,不得将上述资源用于商业或其它非法用途,否则一切后果请用户自负,与本站无关。
②本站所有资源均为免费提供,目的是让大家节省学习和摸索的成本,所收取的相应费用并非资源销售费用,而是打赏捐赠给资源提供者收集、整理、后期维护服务的辛苦费,与本站无利益关联。若需提供增值服务,则额外打赏资源提供者即可!
③资源下载后,请于24小时内从您的电脑中彻底删除!如您喜欢请移步官方网站购买,将得到更好的学习交流服务。
④所有资源均来自网络,版权归原作者所有,本站仅提供展示信息,一切问题与本站无关!
⑤如若侵犯到您的权益,请提供相关证明文件,按处理流程给我们反馈【侵权资源处理流程】,我们将在72小时内处理!如没有提供相关文件,一律视为诈骗恶搞,将拉黑处理!
①本站所有资源均由用户自发贡献上传,用户自发分享网盘链接,仅限用于试看学习和参考,不得将上述资源用于商业或其它非法用途,否则一切后果请用户自负,与本站无关。
②本站所有资源均为免费提供,目的是让大家节省学习和摸索的成本,所收取的相应费用并非资源销售费用,而是打赏捐赠给资源提供者收集、整理、后期维护服务的辛苦费,与本站无利益关联。若需提供增值服务,则额外打赏资源提供者即可!
③资源下载后,请于24小时内从您的电脑中彻底删除!如您喜欢请移步官方网站购买,将得到更好的学习交流服务。
④所有资源均来自网络,版权归原作者所有,本站仅提供展示信息,一切问题与本站无关!
⑤如若侵犯到您的权益,请提供相关证明文件,按处理流程给我们反馈【侵权资源处理流程】,我们将在72小时内处理!如没有提供相关文件,一律视为诈骗恶搞,将拉黑处理!