注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)Akka實(shí)戰(zhàn)

Akka實(shí)戰(zhàn)

Akka實(shí)戰(zhàn)

定 價(jià):¥89.00

作 者: Raymond Roestenburg
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111613428 出版時(shí)間: 2019-01-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  Akka是JAVA虛擬機(jī)JVM平臺(tái)上構(gòu)建高并發(fā)、分布式和容錯(cuò)應(yīng)用的工具包和運(yùn)行庫(kù),同時(shí)提供了Scala和Java的開(kāi)發(fā)接口。本書主要介紹了Akka的Actor開(kāi)發(fā)模型,并行編程、消息傳遞、路由功能、集群、持久化等內(nèi)容,還介紹了Akka的配置、系統(tǒng)集成和性能分析與度量等有關(guān)知識(shí),全面介紹了Akka的主要功能,并給出了豐富的實(shí)例。 本書可作為程序員、軟件工程師和架構(gòu)師關(guān)于開(kāi)發(fā)分布式并行應(yīng)用的參考,也可以作為高等院校分布式并行開(kāi)發(fā)的教材還可以作為對(duì)于分布式并行開(kāi)發(fā)感興趣的讀者的入門參考書。

作者簡(jiǎn)介

  雷蒙德·羅斯騰伯格(Raymond Roestenburg)是一位經(jīng)驗(yàn)豐富的軟件工程師,多語(yǔ)言程序員和軟件架構(gòu)師。他是一位Scala社區(qū)的活躍成員和Akka的貢獻(xiàn)者,參與了Akka-Camel模塊的開(kāi)發(fā)。 羅勃·貝克爾(Rob Bakker)是一位經(jīng)驗(yàn)豐富的軟件開(kāi)發(fā)人員,專注于并行后端系統(tǒng)和系統(tǒng)集成。他從0.7版本開(kāi)始就使用Scala和Akka。 羅勃·威廉姆斯(Rob Williams)S是ontometrics的創(chuàng)始人,專注于包括機(jī)器學(xué)習(xí)在內(nèi)的Java解決方案。十多年前開(kāi)始從事基于Actor的編程開(kāi)發(fā),從那時(shí)起已經(jīng)完成了幾個(gè)項(xiàng)目。

圖書目錄

序I 

譯者序II 

致謝III 

關(guān)于本書IV 

第1章 Akka簡(jiǎn)介1 

1.1 什么是Akka?3 

1.2 Actor簡(jiǎn)介4 

1.3 兩種擴(kuò)展方法:建立我們的實(shí)例4 

1.4 傳統(tǒng)擴(kuò)展5 

1.4.1 傳統(tǒng)擴(kuò)展和持久性:一切移入數(shù)據(jù)庫(kù)6 

1.4.2 傳統(tǒng)擴(kuò)展和交互應(yīng)用:輪詢8 

1.4.3 傳統(tǒng)擴(kuò)展和交互應(yīng)用:Web服務(wù)9 

1.5 用Akka進(jìn)行擴(kuò)展10 

1.5.1 用Akka擴(kuò)展和持久化:發(fā)送和接收消息11 

1.5.2 用Akka擴(kuò)展和交互應(yīng)用:消息推送13 

1.5.3 用Akka擴(kuò)展和容錯(cuò):異步解耦14 

1.5.4 Akka方式:發(fā)送和接收消息15 

1.6 Actor:向上和向外擴(kuò)展的編程模型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章 搭建和運(yùn)行25 

2.1 克隆、構(gòu)建和測(cè)試接口25 

2.1.1 用sbt進(jìn)行構(gòu)建26 

2.1.2快進(jìn)到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上部署并運(yùn)行48 

2.4 總結(jié)49 

第3章 Actor測(cè)試驅(qū)動(dòng)開(kāi)發(fā)50 

3.1 測(cè)試Actor50 

3.2 單向消息52 

3.2.1 SilentActor實(shí)例52 

3.2.2 SendingActor實(shí)例57 

3.2.3 SideEffectingActor實(shí)例63 

3.3 雙向消息66 

3.4 總結(jié)68 

第4章 容錯(cuò)69 

4.1 容錯(cuò)是什么(不是什么)?69 

4.1.1 普通對(duì)象與異常70 

4.1.2 Let it crash73 

4.2 Actor生命周期76 

4.2.1 啟動(dòng)事件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)用實(shí)例95 

5.2 Future無(wú)阻塞99 

5.3 Future錯(cuò)誤處理106 

5.4 Future組合111 

5.5 Future組合Actor122 

5.6 總結(jié)123 

第6章 第一個(gè)分布式Akka app125 

6.1 向外擴(kuò)展125 

6.1.1 通用網(wǎng)絡(luò)術(shù)語(yǔ)125 

6.1.2 采用分布式編程模型的原因126 

6.2 遠(yuǎn)程擴(kuò)展127 

6.2.1 把GoTicks.com app改造成分布式應(yīng)用128 

6.2.2 遠(yuǎn)程REPL活動(dòng)129 

6.2.3 遠(yuǎn)程查找135 

6.2.4 遠(yuǎn)程部署143 

6.2.5 多JVM測(cè)試149 

6.3 總結(jié)156 

第7 章 配置、日志和部署158 

7.1 配置158 

7.1.1 嘗試Akka配置158 

7.1.2 使用默認(rèn)值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 管道和過(guò)濾器179 

8.1.1 企業(yè)集成模式:管道和過(guò)濾器179 

8.1.2 Akka中的管道和過(guò)濾器180 

8.2 企業(yè)集成模式:分發(fā)-收集模式185 

8.2.1 適用性185 

8.2.2 Akka處理并行任務(wù)187 

8.2.3 使用接收者列表實(shí)現(xiàn)分發(fā)組件188 

8.2.4使用聚合器模式實(shí)現(xiàn)收集組件189 

8.2.5 組合組件實(shí)現(xiàn)分發(fā)-收集模式198 

8.3 企業(yè)集成模式:路由表模式199 

8.4 總結(jié)205 

第9章 路由消息207 

9.1 企業(yè)集成路由模式207 

9.2 使用Akka Router實(shí)現(xiàn)負(fù)載平衡208 

9.2.1 Akka Router池211 

9.2.2 Akka Router群組217 

9.2.3 ConsistentHashing Router225 

9.3 用Actor實(shí)現(xiàn)路由模式229 

9.3.1 基于內(nèi)容的路由229 

9.3.2 基于狀態(tài)的路由230 

9.3.3 Router的實(shí)現(xiàn)233 

9.4 總結(jié)234 

第10章 消息通道235 

10.1 通道類型235 

10.1.1 點(diǎn)對(duì)點(diǎn)通道235 

10.1.2 發(fā)布-訂閱通道236 

10.2 特殊通道245 

10.2.1 死信245 

10.2.2 保證投遞248 

10.3 總結(jié)254 

第11章 有限狀態(tài)機(jī)和代理256 

11.1 使用有限狀態(tài)機(jī)256 

11.1.1 有限狀態(tài)機(jī)簡(jiǎn)介256 

11.1.2 創(chuàng)建FSM模型257 

11.2 FSM模型的實(shí)現(xiàn)258 

11.2.1 實(shí)現(xiàn)轉(zhuǎn)換259 

11.2.2 實(shí)現(xiàn)入口動(dòng)作264 

11.2.3 FSM定時(shí)器270 

11.2.4 FSM的終止273 

11.3 使用代理實(shí)現(xiàn)共享狀態(tài)274 

11.3.1 使用代理簡(jiǎn)單地共享狀態(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實(shí)現(xiàn)終端282 

12.2.1 創(chuàng)建從外部系統(tǒng)接收消息的消費(fèi)者終端283 

12.2.2 實(shí)現(xiàn)生產(chǎn)者向外部系統(tǒng)發(fā)送消息291 

12.3 實(shí)現(xiàn)HTTP接口297 

12.3.1 HTTP實(shí)例298 

12.3.2 用Akka-http實(shí)現(xiàn)REST終端300 

12.4 總結(jié)307 

第13章 流309 

13.1 基本流處理309 

13.1.1 使用源和接收器復(fù)制文件313 

13.1.2 實(shí)體化可運(yùn)行圖316 

13.1.3 用Flow處理事件321 

13.1.4 處理流中的錯(cuò)誤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進(jìn)行扇入和扇出340 

13.3.1 廣播流340 

13.3.2 合并流343 

13.4 協(xié)調(diào)生產(chǎn)者和消費(fèi)者347 

13.4.1 使用緩沖區(qū)347 

13.5 圖的速率隔離350 

13.5.1 對(duì)較慢的消費(fèi)者,對(duì)事件進(jìn)行匯總351 

13.5.2 快速消費(fèi)者的擴(kuò)展度量351 

13.6 總結(jié)352 

第14章 集群353 

14.1 為什么使用集群?353 

14.2 集群成員關(guān)系355 

14.2.1 加入集群356 

14.2.2 離開(kāi)集群364 

14.3 集群作業(yè)處理369 

14.3.1 啟動(dòng)集群

本目錄推薦

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