第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
· · · · · · (
收起)