Spring響應式微服務:Spring Boot 2+Spring 5+Spring Cloud實戰 | 被動收入的投資秘訣 - 2024年7月

Spring響應式微服務:Spring Boot 2+Spring 5+Spring Cloud實戰

作者:鄭天民
出版社:電子工業
出版日期:2019年06月01日
ISBN:9787121363832
語言:繁體中文

本書主要包含響應式微服務架構實現過程中所應具備的技術體系和工程實踐,圍繞響應式編程模型和微服務架構的整合,我們將討論響應式編程模型與Reactor框架、如何構建響應式RESTful服務、如何構建響應式數據訪問組件、如何構建響應式消息通信組件、如何構建響應式微服務架構以及如何測試響應式微服務架構等核心主題,並基於這些核心主題給出具體的案例分析。





鄭天民,網名天涯蘭,日本足利工業大學信息工程學碩士。10年軟體行業從業經驗,在醫療、安防和電商行業都有所涉及,前後擔任系統分析架構師、部門經理、技術總監等職務,對架構設計和技術管理有豐富的經驗和深入的理解。主持過十余個面向研發人員的技術和管理類培訓課程,著有《系統架構設計:程序員向架構師 轉型之路》、《向技術管理者轉型:軟體開發人員跨越行業、技術、管理的轉型思維與實踐》、《微服務設計原理與架構》等書籍。

第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
 


相關書籍