logo
分类于: 计算机基础 云计算&大数据

简介

Spring响应式编程

Spring响应式编程 0.0分

资源最后更新于 2020-08-23 16:19:09

作者:[乌克兰] 奥莱·多库卡

译者:郑天民

出版社:人民邮电出版社

出版日期:2020-01

ISBN:9787115536716

文件格式: pdf

标签: 计算机 响应式 响应式编程

简介· · · · · ·

在学习本书后,你将能够运用自己的技能,加入Spring 5带来的响应式变革!阅读本书,你将:

- 发现响应式系统和响应式编程之间的区别

- 探索响应式系统的优势并了解其应用

- 掌握Spring 5中的响应式编程

- 了解Project Reactor

- 使用Spring 5和Project Reactor构建响应式系统

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

第1章  为什么选择响应式 Spring  1
1.1 为什么需要响应性  1
1.2 响应性应用案例  6
1.3 为什么采用响应式 Spring  9
1.4 小结  16
第2章  Spring 响应式编程—— 基本概念  17
2.1 Spring 的早期响应式解决方案  17
2.1.1 观察者模式  18
2.1.2 观察者模式使用示例  20
2.1.3 基于@EventListener 注解的发布订阅模式  23
2.1.4 使用@EventListener 注解构建应用程序  24
2.2 使用 RxJava 作为响应式框架  31
2.2.1 观察者加迭代器等于响应式流  31
2.2.2 生产和消费流数据  33
2.2.3 生成异步序列  35
2.2.4 流转换和弹珠图  36
2.2.5 RxJava 的先决条件和优势  39
2.2.6 使用 RxJava 重建我们的应用程序  41
2.3 响应式库简史  45
2.4 响应式现状  46
2.5 小结  48
第3章  响应式流——新的流标准  49
3.1 无处不在的响应性  49
3.1.1 API 不一致性问题  49
3.1.2 “拉”与“推”  52
3.1.3 流量控制问题  56
3.1.4 解决方案  60
3.2 响应式流规范基础知识  60
3.2.1 响应式流规范实战  66
3.2.2 响应式流技术兼容套件  71
3.2.3 JDK  9  77
3.3 高级主题——响应式流中的异步和并行  79
3.4 响应式环境的转变  81
3.4.1 RxJava 的转变  81
3.4.2 Vert.x 的调整  83
3.4.3 Ratpack 的改进  84
3.4.4 MongoDB 响应式流驱动程序  85
3.4.5 响应式技术组合实战  86
3.5 小结  89
第4章  Project Reactor——响应式 应用程序的基础  90
4.1 Project Reactor 简史  90
4.1.1 Project Reactor  1.x 版本  91
4.1.2 Project Reactor  2.x 版本  93
4.2 Project Reactor 精髓  94
4.2.1 在项目中添加 Reactor  96
4.2.2 响应式类型——Flux 和 Mono  96
4.2.3 创建 Flux 序列和 Mono 序列  100
4.2.4 订阅响应式流  102
4.2.5 用操作符转换响应式序列  105
4.2.6 以编程方式创建流  119
4.2.7 错误处理  125
4.2.8 背压处理  127
4.2.9 热数据流和冷数据流  127
4.2.10 处理时间  131
4.2.11 组合和转换响应式流  131
4.2.12 处理器  133
4.2.13 测试和调试 Project Reactor  134
4.2.14 Reactor 插件  134
4.3 Project Reactor 的高级主题  135
4.3.1 响应式流的生命周期  135
4.3.2 Reactor 中的线程调度模型  140
4.3.3 Project Reactor 内幕  149
4.4 小结  153
第5章  使用 Spring Boot 2 实现响应性  154
5.1 快速启动是成功的关键  154
5.1.1 使用 Spring Roo 尝试更快 地开发应用程序  156
5.1.2 Spring Boot 是快速增长的 应用程序的关键  156
5.2 Spring Boot  2.0 中的响应式  157
5.2.1 Spring Core 中的响应式  157
5.2.2 响应式 Web  160
5.2.3 响应式 Spring Data  162
5.2.4 响应式 Spring Session  163
5.2.5 响应式 Spring Security  163
5.2.6 响应式 Spring Cloud  163
5.2.7 响应式 Spring Test  164
5.2.8 响应式监控  164
5.3 小结  165
第6章  WebFlux 异步非阻塞通信  166
6.1 WebFlux 作为核心响应式服务器基础  166
6.1.1 响应式 Web 内核  169
6.1.2 响应式 Web 和 MVC 框架  171
6.1.3 基于 WebFlux 的纯函数式Web  174
6.1.4 基于 WebClient 的非阻塞 跨服务通信  178
6.1.5 响应式 WebSocket API  181
6.1.6 作为 WebSocket 轻量级 替代品的响应式 SSE  184
6.1.7 响应式模板引擎  186
6.1.8 响应式 Web 安全  188
6.1.9 与其他响应式库的交互  191
6.2 对比 WebFlux 和 Web MVC  192
6.2.1 比较框架时的定律  192
6.2.2 全面分析和比较  199
6.3 WebFlux 的应用  216
6.3.1 基于微服务的系统  216
6.3.2 处理客户端连接速度慢的系统  217
6.3.3 流或实时系统  217
6.3.4 WebFlux 实战  217
6.4 小结  221
第7章  响应式数据库访问  222
7.1 现代数据处理模式  222
7.1.1 领域驱动设计  223
7.1.2 微服务时代的数据存储  223
7.1.3 多语言持久化  226
7.1.4 数据库即服务  227
7.1.5 跨微服务共享数据  228
7.2 获取数据的同步模型  233
7.2.1 数据库访问的连接协议  233
7.2.2 数据库驱动程序  235
7.2.3 JDBC  236
7.2.4 Spring JDBC  238
7.2.5 Spring Data JDBC  239
7.2.6 JPA  241
7.2.7 Spring Data JPA  242
7.2.8 Spring Data NoSQL  243
7.2.9 同步模型的局限性  245
7.2.10 同步模型的优点  247
7.3 使用 Spring Data 进行响应式数据访问  247
7.3.1 使用 MongoDB 响应式库  248
7.3.2 组合存储库操作  251
7.3.3 响应式存储库的工作原理  255
7.3.4 响应式事务  261
7.3.5 Spring Data 响应式连接器  268
7.3.6 限制和预期的改进  270
7.3.7 异步数据库访问  271
7.3.8 响应式关系型数据库连接  273
7.4 将同步存储库转换为响应式存储库  276
7.4.1 使用 rxjava2-jdbc 库  276
7.4.2 包装同步 CrudRepository  278
7.5 响应式 Spring Data 实战  281
7.6 小结  284
第8章  使用 Cloud Streams 提升伸缩性  286
8.1 消息代理服务器是消息驱动系统的关键  286
8.1.1 服务器端负载均衡  287
8.1.2 基于 Spring Cloud 和 Ribbon实现客户端负载均衡  288
8.1.3 消息代理服务器——消息传递的弹性可靠层  293
8.1.4 消息代理服务器市场  297
8.2 Spring Cloud Streams——通向Spring 生态系统的桥梁  297
8.3 云上的响应式编程  304
8.3.1 Spring Cloud Data Flow  305
8.3.2 基于 Spring Cloud Function的最细粒度应用程序  306
8.3.3 Spring Cloud——作为数据流 一部分的函数  311
8.4 基于 RSocket 的低延迟、响应式 消息传递  315
8.4.1 对比 RSocket 与 Reactor-Netty  315
8.4.2 Java 中的 RSocket  316
8.4.3 对比 RSocket 和 gRPC  321
8.4.4 Spring 框架中的 RSocket  322
8.4.5 其他框架中的 RSocket  324
8.4.6 RSocket 小结  324
8.5 小结  325
第9章  测试响应式应用程序  326
9.1 为什么响应式流难以测试  326
9.2 使用 StepVerifier 测试响应式流  327
9.2.1 StepVerifier 要点  327
9.2.2 使用 StepVerifier 进行 高级测试  330
9.2.3 处理虚拟时间  331
9.2.4 验证响应式上下文  333
9.3 测试 WebFlux  334
9.3.1 使用 WebTestClient 测试 控制器  334
9.3.2 测试 WebSocket  339
9.4 小结  342
第10章  最后,发布!  343
10.1 DevOps 友好型应用程序的重要性  343
10.2 监控响应式 Spring 应用程序  345
10.2.1 Spring Boot Actuator  346
10.2.2 Micrometer(千分尺)  354
10.2.3 监控响应式流  356
10.2.4 基于 Spring Boot Sleuth 的 分布式跟踪  359
10.2.5 基于 Spring Boot Admin  2.x的漂亮 UI  361
10.3 部署到云端  363
10.3.1 部署到 Amazon Web 服务  365
10.3.2 部署到 Google Kubernetes引擎  365
10.3.3 部署到 Pivotal Cloud Foundry  365
10.3.4 基于 Kubernetes 和 Istio 的FaaS 平台 Knative  369
10.3.5 对成功部署应用程序的建议  369
10.4 小结  370