注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計Spring響應式編程

Spring響應式編程

Spring響應式編程

定 價:¥99.00

作 者: [烏克蘭] 奧萊·多庫卡,伊戈爾·洛茲恩斯基 著,鄭天民 譯
出版社: 人民郵電出版社
叢編項: 圖靈程序設計叢書
標 簽: 暫缺

ISBN: 9787115536716 出版時間: 2020-04-01 包裝: 平裝
開本: 16開 頁數(shù): 370 字數(shù):  

內(nèi)容簡介

  當下激烈的市場競爭導致企業(yè)對高響應性系統(tǒng)的需求不斷增加,這對開發(fā)人員的響應式編程技術提出了新的要求?!禨pring響應式編程》深入淺出,從響應式系統(tǒng)的基本原理入手,詳盡地介紹了響應式系統(tǒng)的優(yōu)勢和應用方向。同時,本書借助Spring框架及WebFlux等工具,對響應式編程進行了極具實踐性的指導。此外,本書還引入了Project Reactor這一響應式編程利器。在完成對本書的學習后,你將有能力利用這些工具,構建響應式系統(tǒng)。 本書適合有志于學習響應式編程的程序員和需要構建響應式系統(tǒng)的開發(fā)人員閱讀。

作者簡介

  奧萊.多庫卡(Oleh Dokuka)資深軟件工程師,Pivotal公司Java Champion,作為Project Reactor和Spring框架的重要貢獻者,熟悉其內(nèi)部機制,并提倡使用Project Reactor進行日常響應式編程。他經(jīng)常在軟件開發(fā)中實際應用Spring框架和Project Reactor,非常了解使用這些技術構建響應式系統(tǒng)的方法。伊戈爾.洛茲恩斯基(Igor Lozynskyi)資深Java開發(fā)人員,擁有約10年的Java平臺經(jīng)驗,主要致力于開發(fā)可靠、可伸縮且速度極快的系統(tǒng),熱衷于打理生活和軟件開發(fā)中總在變化的項目。鄭天民(譯者) 網(wǎng)名天涯蘭,日本足利工業(yè)大學信息工程學碩士,研究方向為人工智能在大規(guī)模調(diào)度系統(tǒng)中的應用。在國際三大索引上發(fā)表多篇論文,被引用50余次。具有10余年軟件行業(yè)從業(yè)經(jīng)驗,曾先后任職于多家大型上市公司和互聯(lián)網(wǎng)、電商、健康等類型的獨角獸公司,擔任系統(tǒng)分析架構師、技術總監(jiān)和CTO等職務,目前在一家大健康領域的創(chuàng)新型科技公司擔任CTO,帶領百余人發(fā)技術團隊,負責產(chǎn)品研發(fā)與技術團隊管理工作。主持過10余個面向研發(fā)人員的技術和管理類培訓課程,在架構設計和技術管理方面有豐富的經(jīng)驗和深入的理解,是CSDN博客專家。著有《Spring響應式微服務》《系統(tǒng)架構設計:程序員向架構師轉(zhuǎn)型之路》《向技術管理者轉(zhuǎn)型:軟件開發(fā)人員跨越行業(yè)、技術、管理的轉(zhuǎn)型思維與實踐》《微服務設計原理與架構》《微服務架構實戰(zhàn)》等作品。(微信公眾號:程序員向架構師轉(zhuǎn)型)

圖書目錄

第 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 注解的發(fā)布訂閱模式 23
2.1.4 使用@EventListener 注解構建應用程序 24

2.2 使用 RxJava 作為響應式框架 31
2.2.1 觀察者加迭代器等于響應式流 31
2.2.2 生產(chǎn)和消費流數(shù)據(jù) 33
2.2.3 生成異步序列 35
2.2.4 流轉(zhuǎn)換和彈珠圖 36
2.2.5 RxJava 的先決條件和優(yōu)勢 39
2.2.6 使用 RxJava 重建我們的應用程序 41
2.3 響應式庫簡史 45
2.4 響應式現(xiàn)狀 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 響應式流規(guī)范基礎知識 60
3.2.1 響應式流規(guī)范實戰(zhàn) 66
3.2.2 響應式流技術兼容套件 71
3.2.3 JDK 9 77
3.3 高級主題——響應式流中的異步和并行 79
3.4 響應式環(huán)境的轉(zhuǎn)變 81
3.4.1 RxJava 的轉(zhuǎn)變 81
3.4.2 Vert.x 的調(diào)整 83
3.4.3 Ratpack 的改進 84
3.4.4 MongoDB 響應式流驅(qū)動程序 85
3.4.5 響應式技術組合實戰(zhàn) 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 創(chuàng)建 Flux 序列和 Mono 序列 100
4.2.4 訂閱響應式流 102
4.2.5 用操作符轉(zhuǎn)換響應式序列 105
4.2.6 以編程方式創(chuàng)建流 119
4.2.7 錯誤處理 125
4.2.8 背壓處理 127
4.2.9 熱數(shù)據(jù)流和冷數(shù)據(jù)流 127
4.2.10 處理時間 131
4.2.11 組合和轉(zhuǎn)換響應式流 131
4.2.12 處理器 133
4.2.13 測試和調(diào)試 Project Reactor 134
4.2.14 Reactor 插件 134
4.3 Project Reactor 的高級主題 135
4.3.1 響應式流的生命周期 135
4.3.2 Reactor 中的線程調(diào)度模型 140
4.3.3 Project Reactor 內(nèi)幕 149
4.4 小結 153
第 5 章 使用 Spring Boot 2 實現(xiàn)響應性 154
5.1 快速啟動是成功的關鍵 154
5.1.1 使用 Spring Roo 嘗試更快 地開發(fā)應用程序 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 響應式監(jiān)控 164
5.3 小結 165
第 6 章 WebFlux 異步非阻塞通信 166
6.1 WebFlux 作為核心響應式服務器基礎 166
6.1.1 響應式 Web 內(nèi)核 169
6.1.2 響應式 Web 和 MVC 框架 171
6.1.3 基于 WebFlux 的純函數(shù)式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 基于微服務的系統(tǒng) 216
6.3.2 處理客戶端連接速度慢的系統(tǒng) 217
6.3.3 流或?qū)崟r系統(tǒng) 217
6.3.4 WebFlux 實戰(zhàn) 217
6.4 小結 221
第 7 章 響應式數(shù)據(jù)庫訪問 222
7.1 現(xiàn)代數(shù)據(jù)處理模式 222
7.1.1 領域驅(qū)動設計 223
7.1.2 微服務時代的數(shù)據(jù)存儲 223
7.1.3 多語言持久化 226
7.1.4 數(shù)據(jù)庫即服務 227
7.1.5 跨微服務共享數(shù)據(jù) 228
7.2 獲取數(shù)據(jù)的同步模型 233
7.2.1 數(shù)據(jù)庫訪問的連接協(xié)議 233
7.2.2 數(shù)據(jù)庫驅(qū)動程序 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 同步模型的優(yōu)點 247
7.3 使用 Spring Data 進行響應式數(shù)據(jù)訪問 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 異步數(shù)據(jù)庫訪問 271
7.3.8 響應式關系型數(shù)據(jù)庫連接 273
7.4 將同步存儲庫轉(zhuǎn)換為響應式存儲庫 276
7.4.1 使用 rxjava2-jdbc 庫 276
7.4.2 包裝同步 CrudRepository 278
7.5 響應式 Spring Data 實戰(zhàn) 281
7.6 小結 284
第 8 章 使用 Cloud Streams 提升伸縮性 286
8.1 消息代理服務器是消息驅(qū)動系統(tǒng)的關鍵 286
8.1.1 服務器端負載均衡 287
8.1.2 基于 Spring Cloud 和 Ribbon實現(xiàn)客戶端負載均衡
288
8.1.3 消息代理服務器——消息傳遞的彈性可靠層 293
8.1.4 消息代理服務器市場 297
8.2 Spring Cloud Streams——通向Spring 生態(tài)系統(tǒng)的橋梁
297
8.3 云上的響應式編程 304
8.3.1 Spring Cloud Data Flow 305
8.3.2 基于 Spring Cloud Function的最細粒度應用程序
306
8.3.3 Spring Cloud——作為數(shù)據(jù)流 一部分的函數(shù) 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 章 最后,發(fā)布! 343
10.1 DevOps 友好型應用程序的重要性 343
10.2 監(jiān)控響應式 Spring 應用程序 345
10.2.1 Spring Boot Actuator 346
10.2.2 Micrometer(千分尺) 354
10.2.3 監(jiān)控響應式流 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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號