定 價:¥89.00
作 者: | Raymond Roestenburg |
出版社: | 機械工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787111613428 | 出版時間: | 2019-01-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
序I
譯者序II
致謝III
關(guān)于本書IV
第1章 Akka簡介1
1.1 什么是Akka?3
1.2 Actor簡介4
1.3 兩種擴展方法:建立我們的實例4
1.4 傳統(tǒng)擴展5
1.4.1 傳統(tǒng)擴展和持久性:一切移入數(shù)據(jù)庫6
1.4.2 傳統(tǒng)擴展和交互應(yīng)用:輪詢8
1.4.3 傳統(tǒng)擴展和交互應(yīng)用:Web服務(wù)9
1.5 用Akka進行擴展10
1.5.1 用Akka擴展和持久化:發(fā)送和接收消息11
1.5.2 用Akka擴展和交互應(yīng)用:消息推送13
1.5.3 用Akka擴展和容錯:異步解耦14
1.5.4 Akka方式:發(fā)送和接收消息15
1.6 Actor:向上和向外擴展的編程模型16
1.6.1 異步模型16
1.6.2 Actor操作17
1.7 Akka Actor20
1.7.1 ActorSystem20
1.7.2 ActorRef、郵箱和Actor21
1.7.3 分發(fā)器21
1.7.4 Actor和網(wǎng)絡(luò)24
1.8 總結(jié)24
第2章 搭建和運行25
2.1 克隆、構(gòu)建和測試接口25
2.1.1 用sbt進行構(gòu)建26
2.1.2快進到GoTicks.com REST服務(wù)器28
2.2 探索應(yīng)用中的app32
2.2.1 app結(jié)構(gòu)32
2.2.2 處理銷售的Actor:TicketSeller39
2.2.3 BoxOffice Actor40
2.2.4 RestApi43
2.3 部署到云上46
2.3.1 在Heroku上創(chuàng)建app46
2.3.2 在Heroku上部署并運行48
2.4 總結(jié)49
第3章 Actor測試驅(qū)動開發(fā)50
3.1 測試Actor50
3.2 單向消息52
3.2.1 SilentActor實例52
3.2.2 SendingActor實例57
3.2.3 SideEffectingActor實例63
3.3 雙向消息66
3.4 總結(jié)68
第4章 容錯69
4.1 容錯是什么(不是什么)?69
4.1.1 普通對象與異常70
4.1.2 Let it crash73
4.2 Actor生命周期76
4.2.1 啟動事件77
4.2.2 停止事件78
4.2.3 重啟事件78
4.2.4 生命周期綜合80
4.2.5 生命周期監(jiān)控82
4.3 監(jiān)視83
4.3.1 監(jiān)視器層次結(jié)構(gòu)83
4.3.2 預(yù)定義策略85
4.3.3 自定義策略87
4.4 總結(jié)94
第5章 Futures95
5.1 Future的應(yīng)用實例95
5.2 Future無阻塞99
5.3 Future錯誤處理106
5.4 Future組合111
5.5 Future組合Actor122
5.6 總結(jié)123
第6章 第一個分布式Akka app125
6.1 向外擴展125
6.1.1 通用網(wǎng)絡(luò)術(shù)語125
6.1.2 采用分布式編程模型的原因126
6.2 遠程擴展127
6.2.1 把GoTicks.com app改造成分布式應(yīng)用128
6.2.2 遠程REPL活動129
6.2.3 遠程查找135
6.2.4 遠程部署143
6.2.5 多JVM測試149
6.3 總結(jié)156
第7 章 配置、日志和部署158
7.1 配置158
7.1.1 嘗試Akka配置158
7.1.2 使用默認值162
7.1.3 Akka配置165
7.1.4 多系統(tǒng)166
7.2 日志168
7.2.1 Akka中的日志記錄168
7.2.2 使用日志170
7.2.3 Akka的日志控制171
7.3 部署基于Actor的應(yīng)用173
7.4 總結(jié)178
第8章 Actor的結(jié)構(gòu)模式179
8.1 管道和過濾器179
8.1.1 企業(yè)集成模式:管道和過濾器179
8.1.2 Akka中的管道和過濾器180
8.2 企業(yè)集成模式:分發(fā)-收集模式185
8.2.1 適用性185
8.2.2 Akka處理并行任務(wù)187
8.2.3 使用接收者列表實現(xiàn)分發(fā)組件188
8.2.4使用聚合器模式實現(xiàn)收集組件189
8.2.5 組合組件實現(xiàn)分發(fā)-收集模式198
8.3 企業(yè)集成模式:路由表模式199
8.4 總結(jié)205
第9章 路由消息207
9.1 企業(yè)集成路由模式207
9.2 使用Akka Router實現(xiàn)負載平衡208
9.2.1 Akka Router池211
9.2.2 Akka Router群組217
9.2.3 ConsistentHashing Router225
9.3 用Actor實現(xiàn)路由模式229
9.3.1 基于內(nèi)容的路由229
9.3.2 基于狀態(tài)的路由230
9.3.3 Router的實現(xiàn)233
9.4 總結(jié)234
第10章 消息通道235
10.1 通道類型235
10.1.1 點對點通道235
10.1.2 發(fā)布-訂閱通道236
10.2 特殊通道245
10.2.1 死信245
10.2.2 保證投遞248
10.3 總結(jié)254
第11章 有限狀態(tài)機和代理256
11.1 使用有限狀態(tài)機256
11.1.1 有限狀態(tài)機簡介256
11.1.2 創(chuàng)建FSM模型257
11.2 FSM模型的實現(xiàn)258
11.2.1 實現(xiàn)轉(zhuǎn)換259
11.2.2 實現(xiàn)入口動作264
11.2.3 FSM定時器270
11.2.4 FSM的終止273
11.3 使用代理實現(xiàn)共享狀態(tài)274
11.3.1 使用代理簡單地共享狀態(tài)274
11.3.2 等待狀態(tài)更新276
11.4 總結(jié)277
第12章 系統(tǒng)集成278
12.1 消息終端278
12.1.1 歸一化279
12.1.2 規(guī)范數(shù)據(jù)模型280
12.2 使用Apache Camel實現(xiàn)終端282
12.2.1 創(chuàng)建從外部系統(tǒng)接收消息的消費者終端283
12.2.2 實現(xiàn)生產(chǎn)者向外部系統(tǒng)發(fā)送消息291
12.3 實現(xiàn)HTTP接口297
12.3.1 HTTP實例298
12.3.2 用Akka-http實現(xiàn)REST終端300
12.4 總結(jié)307
第13章 流309
13.1 基本流處理309
13.1.1 使用源和接收器復(fù)制文件313
13.1.2 實體化可運行圖316
13.1.3 用Flow處理事件321
13.1.4 處理流中的錯誤324
13.1.5 用BidiFlow創(chuàng)建協(xié)議326
13.2 HTTP流330
13.2.1接收HTTP流330
13.2.2 HTTP響應(yīng)流333
13.2.3 內(nèi)容類型和協(xié)調(diào)的自定義編組與解組334
13.3 用Graph DSL進行扇入和扇出340
13.3.1 廣播流340
13.3.2 合并流343
13.4 協(xié)調(diào)生產(chǎn)者和消費者347
13.4.1 使用緩沖區(qū)347
13.5 圖的速率隔離350
13.5.1 對較慢的消費者,對事件進行匯總351
13.5.2 快速消費者的擴展度量351
13.6 總結(jié)352
第14章 集群353
14.1 為什么使用集群?353
14.2 集群成員關(guān)系355
14.2.1 加入集群356
14.2.2 離開集群364
14.3 集群作業(yè)處理369
14.3.1 啟動集群