第1章 直面响应式微服务架构 1
1.1 响应式系统核心概念 1
1.1.1 从传统编程方法到响应式编程方法 1
1.1.2 响应式宣言与响应式系统 4
1.2 剖析微服务架构 6
1.2.1 分布式系统与微服务架构 6
1.2.2 服务拆分与集成 8
1.2.3 微服务架构的核心组件 11
1.2.4 微服务架构技术体系 13
1.3 构建响应式微服务架构 15
1.3.1 响应式微服务架构设计原则 15
1.3.2 整合响应式编程与微服务架构 18
1.4 全书架构 19
1.5 本章小结 20
第2章 响应式编程模型与Reactor框架 21
2.1 响应式编程模型 21
2.1.1 流 22
2.1.2 背压 24
2.1.3 响应式流 25
2.2 Reactor框架 28
2.2.1 响应式编程实现技术概述 28
2.2.2 引入Reactor框架 31
2.3 创建Flux和Mono 34
2.3.1 创建Flux 34
2.3.2 创建Mono 37
2.4 Flux和Mono操作符 39
2.4.1 转换操作符 39
2.4.2 过滤操作符 43
2.4.3 组合操作符 46
2.4.4 条件操作符 49
2.4.5 数学操作符 52
2.4.6 Observable工具操作符 54
2.4.7 日志和调试操作符 56
2.5 Reactor框架中的背压机制 58
2.6 本章小结 60
第3章 构建响应式RESTful服务 61
3.1 使用Spring Boot 2.0构建微服务 61
3.1.1 Spring Boot基本特性 61
3.1.2 基于Spring Boot的第一个RESTful服务 63
3.1.3 使用Actuator组件强化服务 67
3.2 使用Spring WebFlux构建响应式服务 80
3.2.1 使用Spring Initializer初始化响应式Web应用 80
3.2.2 对比响应式Spring WebFlux与传统Spring WebMvc 82
3.2.3 使用注解编程模型创建响应式RESTful服务 84
3.2.4 使用函数式编程模型创建响应式RESTful服务 88
3.3 本章小结 93
第4章 构建响应式数据访问组件 94
4.1 Spring Data数据访问模型 94
4.1.1 Spring Data抽象 95
4.1.2 集成Spring Data JPA 98
4.1.3 集成Spring Data Redis 100
4.1.4 集成Spring Data Mongodb 103
4.2 响应式数据访问模型 104
4.2.1 Spring Reactive Data抽象 105
4.2.2 创建响应式数据访问层组件 107
4.3 响应式Mongodb 108
4.3.1 初始化Reactive Mongodb运行环境 109
4.3.2 创建Reactive Mongodb Repository 112
4.3.3 使用CommandLineRunner初始化Mongodb数据 113
4.3.4 在Service层中调用Reactive MongodbRepository 114
4.4 响应式Redis 117
4.4.1 初始化Reactive Redis运行环境 117
4.4.2 创建Reactive Redis Repository 121
4.4.3 在Service层中调用Reactive Repository 122
4.5 本章小结 123
第5章 构建响应式消息通信组件 124
5.1 消息通信系统简介 125
5.2 使用Spring Cloud Stream构建消息通信系统 126
5.2.1 Spring Cloud Stream基本架构 126
5.2.2 Spring Cloud Stream中的Binder组件 130
5.2.3 使用Source组件实现消息发布者 135
5.2.4 使用@StreamListener注解实现消息消费者 137
5.3 引入Reactive Spring Cloud Stream实现响应式 消息通信系统 139
5.3.1 Reactive Spring Cloud Stream组件 139
5.3.2 Reactive Spring Cloud Stream示例 141
5.4 本章小结 147
第6章 构建响应式微服务架构 148
6.1 使用Spring Cloud创建响应式微服务架构 148
6.1.1 服务治理 149
6.1.2 负载均衡 154
6.1.3 服务容错 161
6.1.4 服务网关 166
6.1.5 服务配置 173
6.1.6 服务监控 177
6.2 使用WebClient实现响应式服务调用 182
6.2.1 创建和配置WebClient 182
6.2.2 使用WebClient访问服务 183
6.3 本章小结 187
第7章 测试响应式微服务架构 188
7.1 初始化测试环境 189
7.1.1 引入spring-boot-starter-test组件 189
7.1.2 解析基础类测试注解 190
7.1.3 编写第一个测试用例 191
7.2 测试Reactor组件 192
7.3 测试响应式Repository层组件 194
7.3.1 测试内嵌式Mongodb 194
7.3.2 测试真实MongoDB 197
7.4 测试响应式Service层组件 199
7.5 测试响应式Controller层组件 201
7.6 本章小结 204
第8章 响应式微服务架构演进案例分析 205
8.1 PrescriptionSystem案例简介 205
8.2 传统微服务架构实现案例 207
8.2.1 构建基础设施类服务 207
8.2.2 构建Medicine服务 213
8.2.3 构建Card服务 219
8.2.4 构建Prescription服务 224
8.3 响应式微服务架构演进案例 237
8.3.1 更新基础设施类服务 237
8.3.2 更新数据访问方式 241
8.3.3 更新事件通信方式 246
8.4 本章小结 266
参考文献 267
· · · · · · (
收起)