Akka實戰(2018年機械工業出版社)

Akka實戰(2018年機械工業出版社)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《Akka實戰》是2018年12月機械工業出版社出版的圖書,作者是Raymond Roestenburg 等【著】,程繼洪,肖川【譯】,本書可作為程式設計師、軟體工程師和架構師關於開發分散式並行套用的參考。

基本介紹

  • 中文名:Akka實戰
  • 作者:Raymond Roestenburg
  • 譯者:程繼洪、肖川
  • 出版社:機械工業出版社
  • ISBN:9787111613428 
內容簡介,圖書目錄,作者簡介,

內容簡介

Akka是JAVA虛擬機JVM平台上構建高並發、分散式和容錯套用的工具包和運行庫,同時提供了Scala和Java的開發接口。本書主要介紹了Akka的Actor開發模型,並行編程、訊息傳遞、路由功能、集群、持久化等內容,還介紹了Akka的配置、系統集成和性能分析與度量等有關知識,全面介紹了Akka的主要功能,並給出了豐富的實例。
本書可作為程式設計師、軟體工程師和架構師關於開發分散式並行套用的參考,也可以作為高等院校分散式並行開發的教材還可以作為對於分散式並行開發感興趣的讀者的入門參考書。

圖書目錄

序I
譯者序II
致謝III
關於本書IV
第1章 Akka簡介1
1.1 什麼是Akka?3
1.2 Actor簡介4
1.3 兩種擴展方法:建立我們的實例4
1.4 傳統擴展5
1.4.1 傳統擴展和持久性:一切移入資料庫6
1.4.2 傳統擴展和互動套用:輪詢8
1.4.3 傳統擴展和互動套用:Web服務9
1.5 用Akka進行擴展10
1.5.1 用Akka擴展和持久化:傳送和接收訊息11
1.5.2 用Akka擴展和互動套用:訊息推送13
1.5.3 用Akka擴展和容錯:異步解耦14
1.5.4 Akka方式:傳送和接收訊息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 分發器21
1.7.4 Actor和網路24
1.8 總結24
第2章 搭建和運行25
2.1 克隆、構建和測試接口25
2.1.1 用sbt進行構建26
2.1.2快進到GoTicks.com REST伺服器28
2.2 探索套用中的app32
2.2.1 app結構32
2.2.2 處理銷售的Actor:TicketSeller39
2.2.3 BoxOffice Actor40
2.2.4 RestApi43
2.3 部署到雲上46
2.3.1 在Heroku上創建app46
2.3.2 在Heroku上部署並運行48
2.4 總結49
第3章 Actor測試驅動開發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 總結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 生命周期監控82
4.3 監視83
4.3.1 監視器層次結構83
4.3.2 預定義策略85
4.3.3 自定義策略87
4.4 總結94
第5章 Futures95
5.1 Future的套用實例95
5.2 Future無阻塞99
5.3 Future錯誤處理106
5.4 Future組合111
5.5 Future組合Actor122
5.6 總結123
第6章 第一個分散式Akka app125
6.1 向外擴展125
6.1.1 通用網路術語125
6.1.2 採用分散式編程模型的原因126
6.2 遠程擴展127
6.2.1 把GoTicks.com app改造成分散式套用128
6.2.2 遠程REPL活動129
6.2.3 遠程查找135
6.2.4 遠程部署143
6.2.5 多JVM測試149
6.3 總結156
第7 章 配置、日誌和部署158
7.1 配置158
7.1.1 嘗試Akka配置158
7.1.2 使用默認值162
7.1.3 Akka配置165
7.1.4 多系統166
7.2 日誌168
7.2.1 Akka中的日誌記錄168
7.2.2 使用日誌170
7.2.3 Akka的日誌控制171
7.3 部署基於Actor的套用173
7.4 總結178
第8章 Actor的結構模式179
8.1 管道和過濾器179
8.1.1 企業集成模式:管道和過濾器179
8.1.2 Akka中的管道和過濾器180
8.2 企業集成模式:分發-收集模式185
8.2.1 適用性185
8.2.2 Akka處理並行任務187
8.2.3 使用接收者列表實現分發組件188
8.2.4使用聚合器模式實現收集組件189
8.2.5 組合組件實現分發-收集模式198
8.3 企業集成模式:路由表模式199
8.4 總結205
第9章 路由訊息207
9.1 企業集成路由模式207
9.2 使用Akka Router實現負載平衡208
9.2.1 Akka Router池211
9.2.2 Akka Router群組217
9.2.3 ConsistentHashing Router225
9.3 用Actor實現路由模式229
9.3.1 基於內容的路由229
9.3.2 基於狀態的路由230
9.3.3 Router的實現233
9.4 總結234
第10章 訊息通道235
10.1 通道類型235
10.1.1 點對點通道235
10.1.2 發布-訂閱通道236
10.2 特殊通道245
10.2.1 死信245
10.2.2 保證投遞248
10.3 總結254
第11章 有限狀態機和代理256
11.1 使用有限狀態機256
11.1.1 有限狀態機簡介256
11.1.2 創建FSM模型257
11.2 FSM模型的實現258
11.2.1 實現轉換259
11.2.2 實現入口動作264
11.2.3 FSM定時器270
11.2.4 FSM的終止273
11.3 使用代理實現共享狀態274
11.3.1 使用代理簡單地共享狀態274
11.3.2 等待狀態更新276
11.4 總結277
第12章 系統集成278
12.1 訊息終端278
12.1.1 歸一化279
12.1.2 規範數據模型280
12.2 使用Apache Camel實現終端282
12.2.1 創建從外部系統接收訊息的消費者終端283
12.2.2 實現生產者向外部系統傳送訊息291
12.3 實現HTTP接口297
12.3.1 HTTP實例298
12.3.2 用Akka-http實現REST終端300
12.4 總結307
第13章 流309
13.1 基本流處理309
13.1.1 使用源和接收器複製檔案313
13.1.2 實體化可運行圖316
13.1.3 用Flow處理事件321
13.1.4 處理流中的錯誤324
13.1.5 用BidiFlow創建協定326
13.2 HTTP流330
13.2.1接收HTTP流330
13.2.2 HTTP回響流333
13.2.3 內容類型和協調的自定義編組與解組334
13.3 用Graph DSL進行扇入和扇出340
13.3.1 廣播流340
13.3.2 合併流343
13.4 協調生產者和消費者347
13.4.1 使用緩衝區347
13.5 圖的速率隔離350
13.5.1 對較慢的消費者,對事件進行匯總351
13.5.2 快速消費者的擴展度量351
13.6 總結352
第14章 集群353
14.1 為什麼使用集群?353
14.2 集群成員關係355
14.2.1 加入集群356
14.2.2 離開集群364
14.3 集群作業處理369
14.3.1 啟動集群

作者簡介

雷蒙德·羅斯騰伯格(Raymond Roestenburg)是一位經驗豐富的軟體工程師,多語言程式設計師和軟體架構師。他是一位Scala社區的活躍成員和Akka的貢獻者,參與了Akka-Camel模組的開發。
羅勃·貝克爾(Rob Bakker)是一位經驗豐富的軟體開發人員,專注於並行後端系統和系統集成。他從0.7版本開始就使用Scala和Akka。
羅勃·威廉士(Rob Williams)S是ontometrics的創始人,專注於包括機器學習在內的Java解決方案。十多年前開始從事基於Actor的編程開發,從那時起已經完成了幾個項目。

相關詞條

熱門詞條

聯絡我們