类似推荐
编辑推荐
在学习本书后,你将能够运用自己的技能,加入Spring5带来的响应式变革。
内容简介
当下激烈的市场竞争导致企业对高响应性系统的需求不断增加,这对开发人员的响应式编程技术提出了新的要求。
《Spring响应式编程》深入浅出,从响应式系统的基本原理入手,详尽地介绍了响应式系统的优势和应用方向。
同时,本书借助Spring框架及WebFlux等工具,对响应式编程进行了极具实践性的指导。
此外,本书还引入了Project Reactor这一响应式编程利器。在完成对本书的学习后,你将有能力利用这些工具,构建响应式系统。
本书适合有志于学习响应式编程的程序员和需要构建响应式系统的开发人员阅读。
作者简介
作者奥莱·多库卡(Oleh Dokuka),资深软件工程师,Pivotal公司Java Champion,作为Project Reactor和Spring框架的重要贡献者,熟悉其内部机制,并提倡使用Project Reactor进行日常响应式编程。他经常在软件开发中实际应用Spring框架和Project Reactor,非常了解使用这些技术构建响应式系统的方法。
章节目录
版权信息
数字版权声明
内容提要
译者序
序
前言
目标读者
本书内容
如何充分利用本书
下载示例代码
下载彩色图片
排版约定
联系方式
评论
电子书
第1章 为什么选择响应式Spring
1.1 为什么需要响应性
1.2 响应性应用案例
1.3 为什么采用响应式Spring
1.4 小结
第2章 Spring响应式编程——基本概念
2.1 Spring的早期响应式解决方案
2.1.1 观察者模式
2.1.2 观察者模式使用示例
2.1.3 基于@EventListener注解的发布-订阅模式
2.1.4 使用@EventListener注解构建应用程序
2.2 使用RxJava作为响应式框架
2.2.1 观察者加迭代器等于响应式流
2.2.2 生产和消费流数据
2.2.3 生成异步序列
2.2.4 流转换和弹珠图
2.2.5 RxJava的先决条件和优势
2.2.6 使用RxJava重建我们的应用程序
2.3 响应式库简史
2.4 响应式现状
2.5 小结
第3章 响应式流——新的流标准
3.1 无处不在的响应性
3.1.1 API不一致性问题
3.1.2 “拉”与“推”
3.1.3 流量控制问题
3.1.4 解决方案
3.2 响应式流规范基础知识
3.2.1 响应式流规范实战
3.2.2 响应式流技术兼容套件
3.2.3 JDK 9
3.3 高级主题——响应式流中的异步和并行
3.4 响应式环境的转变
3.4.1 RxJava的转变
3.4.2 Vert.x的调整
3.4.3 Ratpack的改进
3.4.4 MongoDB响应式流驱动程序
3.4.5 响应式技术组合实战
3.5 小结
第4章 Project Reactor——响应式应用程序的基础
4.1 Project Reactor简史
4.1.1 Project Reactor 1.x版本
4.1.2 Project Reactor 2.x版本
4.2 Project Reactor精髓
4.2.1 在项目中添加Reactor
4.2.2 响应式类型——Flux和Mono
4.2.3 创建Flux序列和Mono序列
4.2.4 订阅响应式流
4.2.5 用操作符转换响应式序列
4.2.6 以编程方式创建流
4.2.7 错误处理
4.2.8 背压处理
4.2.9 热数据流和冷数据流
4.2.10 处理时间
4.2.11 组合和转换响应式流
4.2.12 处理器
4.2.13 测试和调试Project Reactor
4.2.14 Reactor插件
4.3 Project Reactor的高级主题
4.3.1 响应式流的生命周期
4.3.2 Reactor中的线程调度模型
4.3.3 Project Reactor内幕
4.4 小结
第5章 使用Spring Boot 2实现响应性
5.1 快速启动是成功的关键
5.1.1 使用Spring Roo尝试更快地开发应用程序
5.1.2 Spring Boot是快速增长的应用程序的关键
5.2 Spring Boot 2.0中的响应式
5.2.1 Spring Core中的响应式
5.2.2 响应式Web
5.2.3 响应式Spring Data
5.2.4 响应式Spring Session
5.2.5 响应式Spring Security
5.2.6 响应式Spring Cloud
5.2.7 响应式Spring Test
5.2.8 响应式监控
5.3 小结
第6章 WebFlux异步非阻塞通信
6.1 WebFlux作为核心响应式服务器基础
6.1.1 响应式Web内核
6.1.2 响应式Web和MVC框架
6.1.3 基于WebFlux的纯函数式Web
6.1.4 基于WebClient的非阻塞跨服务通信
6.1.5 响应式WebSocket API
6.1.6 作为WebSocket轻量级替代品的响应式SSE
6.1.7 响应式模板引擎
6.1.8 响应式Web安全
6.1.9 与其他响应式库的交互
6.2 对比WebFlux和Web MVC
6.2.1 比较框架时的定律
6.2.2 全面分析和比较
6.3 WebFlux的应用
6.3.1 基于微服务的系统
6.3.2 处理客户端连接速度慢的系统
6.3.3 流或实时系统
6.3.4 WebFlux实战
6.4 小结
第7章 响应式数据库访问
7.1 现代数据处理模式
7.1.1 领域驱动设计
7.1.2 微服务时代的数据存储
7.1.3 多语言持久化
7.1.4 数据库即服务
7.1.5 跨微服务共享数据
7.2 获取数据的同步模型
7.2.1 数据库访问的连接协议
7.2.2 数据库驱动程序
7.2.3 JDBC
7.2.4 Spring JDBC
7.2.5 Spring Data JDBC
7.2.6 JPA
7.2.7 Spring Data JPA
7.2.8 Spring Data NoSQL
7.2.9 同步模型的局限性
7.2.10 同步模型的优点
7.3 使用Spring Data进行响应式数据访问
7.3.1 使用MongoDB响应式库
7.3.2 组合存储库操作
7.3.3 响应式存储库的工作原理
7.3.4 响应式事务
7.3.5 Spring Data响应式连接器
7.3.6 限制和预期的改进
7.3.7 异步数据库访问
7.3.8 响应式关系型数据库连接
7.4 将同步存储库转换为响应式存储库
7.4.1 使用rxjava2-jdbc库
7.4.2 包装同步CrudRepository
7.5 响应式Spring Data实战
7.6 小结
第8章 使用Cloud Streams提升伸缩性
8.1 消息代理服务器是消息驱动系统的关键
8.1.1 服务器端负载均衡
8.1.2 基于Spring Cloud和Ribbon实现客户端负载均衡
8.1.3 消息代理服务器——消息传递的弹性可靠层
8.1.4 消息代理服务器市场
8.2 Spring Cloud Streams——通向Spring生态系统的桥梁
8.3 云上的响应式编程
8.3.1 Spring Cloud Data Flow
8.3.2 基于Spring Cloud Function的最细粒度应用程序
8.3.3 Spring Cloud——作为数据流一部分的函数
8.4 基于RSocket的低延迟、响应式消息传递
8.4.1 对比RSocket与Reactor-Netty
8.4.2 Java 中的RSocket
8.4.3 对比RSocket和gRPC
8.4.4 Spring框架中的RSocket
8.4.5 其他框架中的RSocket
8.4.6 RSocket小结
8.5 小结
第9章 测试响应式应用程序
9.1 为什么响应式流难以测试
9.2 使用StepVerifier测试响应式流
9.2.1 StepVerifier要点
9.2.2 使用StepVerifier进行高级测试
9.2.3 处理虚拟时间
9.2.4 验证响应式上下文
9.3 测试WebFlux
9.3.1 使用WebTestClient测试控制器
9.3.2 测试WebSocket
9.4 小结
第10章 最后,发布!
10.1 DevOps友好型应用程序的重要性
10.2 监控响应式Spring应用程序
10.2.1 Spring Boot Actuator
10.2.2 Micrometer
10.2.3 监控响应式流
10.2.4 基于Spring Boot Sleuth的分布式跟踪
10.2.5 基于Spring Boot Admin 2.x的漂亮UI
10.3 部署到云端
10.3.1 部署到Amazon Web Service
10.3.2 部署到Google Kubernetes引擎
10.3.3 部署到Pivotal Cloud Foundry
10.3.4 基于Kubernetes和Istio的FaaS平台Knative
10.3.5 对成功部署应用程序的建议
10.4 小结
Spring响应式编程是2020年由人民邮电出版社·图灵出品出版,作者[乌克兰] 奥莱·多库卡。
得书感谢您对《Spring响应式编程》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。