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

反應式設計模式

反應式設計模式

定 價:¥98.00

作 者: [美] 羅蘭·庫恩(Roland Kuhn)布賴恩·哈納 著
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302517146 出版時間: 2019-01-01 包裝: 平裝
開本: 16 頁數(shù): 396 字數(shù):  

內(nèi)容簡介

  《反應式設計模式》介紹反應式應用程序設計的原則、模式和經(jīng)典實踐,講述如何用斷路器模式將運行緩慢的組件與其他組件隔開、如何用事務序列(Saga)模式實現(xiàn)多階段事務以及如何通過分片模式來劃分數(shù)據(jù)集,分析如何保持源代碼的可讀性以及系統(tǒng)的可測試性(即使在存在許多潛在交互和失敗點的情況下)。主要內(nèi)容 ? “反應式宣言”權指南 ?流量控制、有界一致性、容錯等模式 ?得之不易的關于“什么行不通”的經(jīng)驗 ?在巨大的負載下保持伸縮性的架構

作者簡介

  Roland Kuhn博士曾在慕尼黑工業(yè)大學學習物理專業(yè),獲得了博士學位;在歐洲核子研究中心(瑞士日內(nèi)瓦)的高能粒子物理實驗中,發(fā)表了關于核子的膠子自旋結構測量的博士專題論文。該實驗需要使用和實現(xiàn)大型計算集群以及快速的數(shù)據(jù)處理網(wǎng)絡,這也為Roland透徹理解分布式計算奠定了基礎。此后,Roland博士在德國空間運營中心工作了4年,負責建設軍事衛(wèi)星的控制中心和地面基礎設施。再后來,他加入Lightbend(之前叫做Typesafe)公司,在2012年11月到2016年3月期間負責帶領Akka團隊。在此期間,他與Martin Odersky和Erik Meijer一起在Coursera平臺上講授Principles of Reactive Programming課程,這門課程的學員超過12萬人。Roland與Jonas Bonér等人共同撰寫了第一版的《反應式宣言》,該宣言于2013年6月發(fā)表。目前,Roland是Actyx的首席技術官及聯(lián)合創(chuàng)始人,Actyx是一家總部位于慕尼黑的公司,致力于使歐洲的各類中小型制造企業(yè)享受到現(xiàn)代反應式系統(tǒng)的福澤。 Brian Hanafee在加利福尼亞大學伯克利分校獲得電氣工程與計算機科學學士學位,現(xiàn)任富國銀行的首席系統(tǒng)架構師,負責設計網(wǎng)上銀行和支付系統(tǒng),并長期引領公司的技術門檻提升。此前,Brian曾在甲骨文公司工作,致力于研究新興產(chǎn)品、互動電視系統(tǒng)以及文本處理系統(tǒng)。Brian也曾任博思艾倫咨詢公司的咨詢師,并曾在ADS公司將人工智能技術應用到軍事規(guī)劃系統(tǒng)中。Brian還為第一代彈射安全的頭盔綜合顯示系統(tǒng)編寫了軟件。 Jamie Allen是星巴克UCP項目的技術總監(jiān),致力于以跨運營模式、跨地域的方式,為星巴克公司各地的消費者重新定義數(shù)字體驗。他是Effective Akka一書的作者,曾與Roland和Jonas一起在Lightbend公司工作4年以上。Jamie自2008年以來一直從事Scala和Actor開發(fā)工作,與世界各地的客戶合作,幫助他們理解和采用反應式系統(tǒng)設計。

圖書目錄

目  錄
第Ⅰ部分  簡介
第1章  為什么需要反應式?   3
1.1  剖析反應式應用   5
1.2  應對負載   6
1.3  應對失敗   7
1.4  讓系統(tǒng)即時響應   9
1.5  避免大泥球   10
1.6  整合非反應式組件   11
1.7  小結   12
第2章  《反應式宣言》概覽   13
2.1  對用戶作出反應   13
2.1.1  理解傳統(tǒng)方法   14
2.1.2  使用共享資源的延遲分析   16
2.1.3  使用隊列限制延遲   17
2.2  利用并行性   18
2.2.1  通過并行化降低延遲   19
2.2.2  使用可組合的Future改善并行性   21
2.2.3  為序列式執(zhí)行表象買單   22
2.3  并行執(zhí)行的限制   24
2.3.1  阿姆達爾定律   24
2.3.2  通用伸縮性法則   25
2.4  對失敗作出反應   26
2.4.1  劃分與隔離   28
2.4.2  使用斷路器   29
2.4.3  監(jiān)督   30
2.5  放棄強一致性   32
2.5.1  ACID 2.0   33
2.5.2  接受更新   34
2.6  對反應式設計模式的需求   35
2.6.1  管理復雜性   36
2.6.2  使編程模型更貼近真實世界   37
2.7  小結   38
第3章  行業(yè)工具   39
3.1  反應式的早期解決方案   39
3.2  函數(shù)式編程   41
3.2.1  不可變性   42
3.2.2  引用透明性   44
3.2.3  副作用   45
3.2.4  函數(shù)作為一等公民   46
3.3  即時響應用戶   47
3.4  對反應式設計的現(xiàn)有支持   49
3.4.1  綠色線程   49
3.4.2  事件循環(huán)   50
3.4.3  通信順序進程   51
3.4.4  Future和Promise   53
3.4.5  反應式擴展工具包   58
3.4.6  Actor模型   59
3.5  小結   64
第Ⅱ部分  微言大義
第4章  消息傳遞   67
4.1  消息   67
4.2  垂直伸縮   68
4.3 “基于事件”與“基于消息”   69
4.4  “同步”與“異步”   71
4.5  流量控制   73
4.6  送達保證   75
4.7  作為消息的事件   77
4.8  同步消息傳遞   79
4.9  小結   79
第5章  位置透明性   81
5.1  什么是位置透明性?   81
5.2  透明化遠程處理的謬誤   82
5.3  基于顯式消息傳遞的糾正方案   83
5.4  優(yōu)化本地消息傳遞   84
5.5  消息丟失   85
5.6  水平擴展性   87
5.7  位置透明性使測試更加簡單   88
5.8  動態(tài)組合   88
5.9  小結   90
第6章  分而治之   91
6.1  分層拆解問題   92
6.2 “依賴”與“子模塊”   94
6.3  構建你自己的大公司   96
6.4  規(guī)范和測試的優(yōu)點   97
6.5  水平擴展性和垂直伸縮性   98
6.6  小結   99
第7章  原則性失敗處理   101
7.1  所有權意味著承諾   101
7.2  所有權隱含生命周期控制   103
7.3  所有級別上的回彈性   104
7.4  小結   105
第8章  有界一致性   107
8.1  封裝模塊糾正方案   108
8.2  根據(jù)事務邊界對數(shù)據(jù)和行為進行分組   109
8.3  跨事務邊界建模工作流   109
8.4  失敗單元即一致性單元   110
8.5  分離職責   111
8.6  堅持一致性的隔離范圍   113
8.7  小結   114
第9章  按需使用非確定性   115
9.1  邏輯編程和聲明式數(shù)據(jù)流   115
9.2  函數(shù)式反應式編程   117
9.3  不共享簡化并發(fā)   118
9.4  共享狀態(tài)的并發(fā)   119
9.5  如何窘境突圍?   119
9.6  小結   121
第10章  消息流   123
10.1  推動數(shù)據(jù)向前流動   123
10.2  模型化領域流程   125
10.3  認清回彈性的局限性   125
10.4  估計速率和部署規(guī)模   126
10.5  為流量控制進行規(guī)劃   127
10.6  小結   127
第Ⅲ部分  設計模式
第11章  測試反應式應用程序   131
11.1  如何測試   131
11.1.1  單元測試   132
11.1.2  組件測試   133
11.1.3  聯(lián)動測試   133
11.1.4  集成測試   133
11.1.5  用戶驗收測試   134
11.1.6  黑盒測試與白盒測試   134
11.2  測試環(huán)境   135
11.3  異步測試   136
11.3.1  提供阻塞的消息接收者   137
11.3.2  選擇超時時間的難題   139
11.3.3  斷言消息的缺失   145
11.3.4  提供同步執(zhí)行引擎   146
11.3.5  異步斷言   148
11.3.6  完全異步的測試   149
11.3.7  斷言沒有發(fā)生異步錯誤   151
11.4  測試非確定性系統(tǒng)   154
11.4.1  執(zhí)行計劃的麻煩   155
11.4.2  測試分布式組件   155
11.4.3  模擬Actor   156
11.4.4  分布式組件   157
11.5  測試彈性   157
11.6  測試回彈性   158
11.6.1  應用程序回彈性   158
11.6.2  基礎設施的回彈性   162
11.7  測試即時響應性   164
11.8  小結   165
第12章  容錯及恢復模式   167
12.1  簡單組件模式   167
12.1.1  問題設定   168
12.1.2  模式應用   168
12.1.3  模式回顧   170
12.1.4  適用性   171
12.2  錯誤內(nèi)核模式   171
12.2.1  問題設定   172
12.2.2  模式應用   172
12.2.3  模式回顧   175
12.2.4  適用性   176
12.3  放任崩潰模式   176
12.3.1  問題設定   177
12.3.2  模式應用   177
12.3.3  模式回顧   178
12.3.4  實現(xiàn)上的考慮   179
12.3.5  推論:心跳模式   180
12.3.6  推論:主動失敗信號模式   180
12.4  斷路器模式   181
12.4.1  問題設定   182
12.4.2  模式應用   182
12.4.3  模式回顧   186
12.4.4  適用性   187
12.5  小結   187
第13章  復制模式   189
13.1  主動-被動復制模式   190
13.1.1  問題設定   190
13.1.2  模式應用   191
13.1.3  模式回顧   203
13.1.4  適用性   204
13.2  多主復制模式   204
13.2.1  基于共識的復制   205
13.2.2  具有沖突檢測與處理方案的復制方式   208
13.2.3  無沖突的可復制數(shù)據(jù)類型   210
13.3  主動-主動復制模式   217
13.3.1  問題設定   218
13.3.2  模式應用   218
13.3.3  模式回顧   225
13.3.4  與虛擬同步模型的關系   226
13.4  小結   227
第14章  資源管理模式   229
14.1  資源封裝模式   229
14.1.1  問題設定   230
14.1.2  模式應用   230
14.1.3  模式回顧   236
14.1.4  適用性   237
14.2  資源借貸模式   237
14.2.1  問題設定   238
14.2.2  模式應用   238
14.2.3  模式回顧   240
14.2.4  適用性   241
14.2.5  實現(xiàn)上的考慮   242
14.2.6  變體:使用資源借貸模式進行局部公開   242
14.3  復雜命令模式   243
14.3.1  問題設定   243
14.3.2  模式應用   244
14.3.3  模式回顧   251
14.3.4  適用性   252
14.4  資源池模式   252
14.4.1  問題設定   253
14.4.2  模式應用   253
14.4.3  模式回顧   255
14.4.4  實現(xiàn)上的考慮   256
14.5  托管阻塞模式   257
14.5.1  問題設定   257
14.5.2  模式應用   258
14.5.3  模式回顧   260
14.5.4  適用性   261
14.6  小結   262
第15章  消息流模式   263
15.1  請求-響應模式   264
15.1.1  問題設定   264
15.1.2  模式應用   265
15.1.3  該模式的常見實例   267
15.1.4  模式回顧   272
15.1.5  適用性   272
15.2  消息自包含模式   273
15.2.1  問題設定   273
15.2.2  模式應用   274
15.2.3  模式回顧   276
15.2.4  適用性   277
15.3  詢問模式   277
15.3.1  問題設定   278
15.3.2  模式應用   278
15.3.3  模式回顧   281
15.3.4  適用性   283
15.4  轉發(fā)流模式   283
15.4.1  問題設定   283
15.4.2  模式應用   284
15.4.3  模式回顧   284
15.4.4  適用性   285
15.5  聚合器模式   285
15.5.1  問題設定   285
15.5.2  模式應用   286
15.5.3  模式回顧   289
15.5.4  適用性   290
15.6  事務序列模式   290
15.6.1  問題設定   291
15.6.2  模式應用   291
15.6.3  模式回顧   293
15.6.4  適用性   294
15.7  業(yè)務握手協(xié)議(或可靠投遞模式)   294
15.7.1  問題設定   295
15.7.2  模式應用   295
15.7.3  模式回顧   300
15.7.4  適用性   301
15.8  小結   301
第16章  流量控制模式   303
16.1  拉取模式   303
16.1.1  問題設定   304
16.1.2  模式應用   304
16.1.3  模式回顧   306
16.1.4  適用性   307
16.2  托管隊列模式   307
16.2.1  問題設定   308
16.2.2  模式應用   308
16.2.3  模式回顧   310
16.2.4  適用性   310
16.3  丟棄模式   311
16.3.1  問題設定   311
16.3.2  模式應用   311
16.3.3  模式回顧   313
16.3.4  適用性   316
16.4  限流模式   316
16.4.1  問題設定   316
16.4.2  模式應用   317
16.4.3  模式回顧   320
16.5  小結   320
第17章  狀態(tài)管理和持久化模式   321
17.1  領域對象模式   321
17.1.1  問題設定   322
17.1.2  模式應用   322
17.1.3  模式回顧   326
17.2  分片模式   326
17.2.1  問題設定   326
17.2.2  模式應用   327
17.2.3  模式回顧   329
17.2.4  重要警告   329
17.3  事件溯源模式   330
17.3.1  問題設定   330
17.3.2  模式應用   330
17.3.3  模式回顧   333
17.3.4  適用性   333
17.4  事件流模式   334
17.4.1  問題設定   334
17.4.2  模式應用   334
17.4.3  模式回顧   336
17.4.4  適用性   337
17.5  小結   337
附錄A  反應式系統(tǒng)圖示   339
附錄B  一個虛構的案例   341
附錄C 《反應式宣言》正文   355

本目錄推薦

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