Akka入門與實踐

Akka入門與實踐
定價:294
NT $ 256
 

內容簡介

主要面向使用Akka工具集來構建大規模分布式應用程序的Java和Scala開發者。Akka入門與實踐 介紹了分布式系統的基本概念以及如何使用Akka來構建容錯性高、可橫向擴展的分布式應用程序。

《Akka入門與實踐》的主要內容包括:Akka工具集、Actor模型、響應式編程、Actor及Future的使用、Akka消息傳遞模式、Actor生命周期、監督機制、狀態與錯誤處理、Akka並發編程、路由、阻塞IO的處理、Akka Cluster、CAP理論、Akka郵箱問題的處理、Akka Testkit、領域驅動設計等。

《Akka入門與實踐》貫穿使用了分布式鍵值存儲以及文章解析服務兩個實例,將原理與實踐結合,介紹了使用Akka設計並實現分布式應用程序的方法。

Jason Goodwin,自學成才的開發者,從15歲起就開始學習編程,並且一直對技術保持着濃厚的興趣。他在mDialog公司初次接觸到Akka項目,這家公司zui終被Google收購。他同時還是一名很有影響力的「技術控」,將Akka引入加拿大一家主要的電信公司,幫助該公司為客戶提供容錯性更高、響應更及時的軟件。現在他主要從事大規模分布式系統的開發。在業余時間,他喜歡自己原創電子音樂。
 

目錄

第1章 初識Actor
1.1 本章概述
1.2 什麼是Akka
1.2.1 Actor模型的起源
1.2.2 什麼是Actor
1.2.3 Actor和消息傳遞
1.3 本書示例系統
1.3.1 示例1:處理分布式狀態
1.3.2 示例2:完成更多工作
1.4 配置環境
1.4.1 選擇一門語言
1.4.2 安裝Java——Oracle JDK8
1.4.3 確認Java環境配置
1.4.4 安裝Scala
1.4.5 安裝Typesafe Activator
1.4.6 新建項目
1.4.7 安裝IDE
1.5 創建第一個Akka應用程序——設置SBT項目
1.5.1 將Akka添加至build.sbt
1.5.2 創建第一個Actor
1.5.3 使用單元測試驗證代碼
1.5.4 運行測試用例
1.6 課后作業
1.7 小結

第2章 Actor與並發
2.1 響應式系統設計
2.2 響應式四准則
2.2.1 靈敏性
2.2.2 伸縮性
2.2.3 容錯性
2.2.4 事件驅動/消息驅動
2.2.5 響應式准則的相關性
2.3 剖析Actor
2.3.1 Java Actor API
2.3.2 Scala Actor API
2.4 Actor的創建
2.5 Promise、Future和事件驅動的編程模型
2.5.1 阻塞與事件驅動API
2.5.2 使用Future進行響應的Actor
2.5.3 理解Future和Promise
2.5.4 在失敗情況下執行代碼
2.5.5 從失敗中恢復
2.5.6 異步地從失敗中恢復
2.5.7 鏈式操作
2.5.8 組合Future
2.5.9 處理Future列表
2.5.10 Future速查表
2.5.11 准備數據庫與消息
2.5.12 編寫客戶端
2.6 課后作業
2.6.1 基本知識
2.6.2 項目作業
2.7 小結

第3章 傳遞消息
3.1 示例問題
3.2 消息傳遞
3.2.1 消息是不可變的
3.2.2 Ask消息模式
3.2.3 Tell
3.3 課后作業
3.4 小結

第4章 Actor的生命周期——處理狀態與錯誤
4.1 分布式計算的8個誤區
4.1.1 網絡是可靠的
4.1.2 沒有延遲
4.1.3 帶寬是無限的
4.1.4 網絡是安全的
4.1.5 網絡拓撲不會改變
4.1.6 只有一個管理員
4.1.7 網絡傳輸沒有開銷
4.1.8 網絡是同構的
4.2 錯誤
4.2.1 隔離錯誤
4.2.2 監督
4.3 狀態
4.3.1 在線/離線狀態
4.3.2 條件語句
4.3.3 熱交換(Hotswap):Become/Unbecome
4.3.4 通過重啟轉移狀態
4.4 課后作業
4.5 小結

第5章 縱向擴展
5.1 摩爾定律
5.2 多核架構的分布式問題
5.3 選擇Future或Actor進行並發編程
5.4 並行編程
5.4.1 使用Future進行並行編程
5.4.2 使用Actor進行並行編程
5.5 使用Dispatcher
5.5.1 Dispatcher解析
5.5.2 Executor
5.5.3 創建Dispatcher
5.5.4 決定何時使用哪種Dispatcher
5.5.5 默認Dispatcher
5.5.6 使用Future的阻塞IO Dispatcher
5.5.7 用於解析文章的Dispatcher
5.5.8 並行最優化
5.6 課后作業
5.7 小結

第6章 橫向擴展——集群化
6.1 Akka Cluster介紹
6.2 巨型單體應用vs微服務
6.3 集群的定義
6.3.1 失敗檢測
6.3.2 通過gossip協議達到最終一致性
6.4 CAP理論
6.4.1 C–一致性(Consistency)
6.4.2 A–可用性(Availability)
6.4.3 P–分區容錯性(Partition Tolerance)
6.4.4 CAP理論中的妥協
6.5 使用Akka Cluster構建系統
6.5.1 創建集群
6.5.2 集群成員的狀態
6.5.3 通過路由向集群發送消息
6.5.4 編寫分布式文章解析服務
6.5.5 用於集群服務的集群客戶端
6.5.6 集群設計
6.6 結合分區與冗余
6.7 遠程Actor尋址
6.8 課后作業
6.9 小結

第7章 處理郵箱問題
7.1 搞垮最可能出問題的服務
7.1.1 響應時間變長
7.1.2 崩潰
7.2 恢復能力
7.3 在高負載情況下保持響應速度
7.4 課后作業
7.5 小結

第8章 測試與設計
8.1 示例問題
8.2 應用程序設計
8.3 設計、構建並測試領域模型
8.3.1 行為說明
8.3.2 設計領域模型
8.3.3 構建並測試領域模型
8.3.4 基於行為說明編寫代碼
8.4 測試Actor
8.4.1 測試Actor行為及狀態
8.4.2 測試消息流
8.5 測試建議
8.6 課后作業
8.7 小結

第9章 尾聲
9.1 其他Akka功能及模塊
9.1.1 Akka中的日志
9.1.2 消息信道與EventBus
9.1.3 Agent
9.1.4 Akka Persistence
9.1.5 Akka I/O
9.1.6 Akka Streams與HTTP
9.2 部署工具
9.3 監控日志與事件
9.4 下一步
9.4.1 編寫一些Actor代碼
9.4.2 Coursera課程
9.5 小結
網路書店 類別 折扣 價格
  1. 新書
    87
    $256