産品特色
編輯推薦
(1)作者是資深Java技術專傢,Akka領域的布道者和實踐者,從事軟件開發和架構近10年,現任上海小蟲科技CTO。
(2)本書以實戰為導嚮,從Akka架構、組件、工具包、分布式、集群、微服務等多個角度展開,為構建高可用、高性能、分布式應用提供瞭詳盡指導。
內容簡介
Akka是一款非常優秀的分布式並行應用框架,它為快速構建高性能、高可用的分布式應用提供瞭良好的解決方案。
本書是資深Java技術專傢在大量實踐後的經驗與教訓的總結,以實戰為導嚮,從架構、組件、工具包、分布式&集群、微服務等多個角度對Akka進行瞭詳細的講解,為快速構建高可用、高性能的分布式應用提供瞭詳盡指導。每個知識點都配備瞭詳細的代碼示例和配置說明,實操性極強。
全書一共10章:
第1章全麵介紹瞭Akka的概念、應用場景和係統架構,為技術團隊全麵瞭解Akka和技術選型提供瞭參考依據;
第2~5章詳細講解瞭Akka的各種模型&組件的原理及用法,如Actor、綫程調度(Dispatcher)、郵箱和消息路由等;
第6章介紹瞭Akka的一些實用工具包,如Future、Event Bus、Akka Streams等;
第7~8章主要講解瞭Akka分布式&集群相關的內容,如遠程Actor、遠程路由、事件監聽、集群搭建、集群分片、持久化等;
第9章講解瞭如何使用Akka構建HTTP和WebSocket服務,並實現瞭一個完整的圖文聊天係統。
第10章介紹瞭一款“全傢桶式”的微服務框架Lagom,它基於Akka和Play而構建,提供瞭一整套微服務解決方案。
作者簡介
杜雲飛
資深Java技術專傢,上海小蟲科技閤夥人兼CTO,在Akka方麵有豐富的實踐經驗。
從事軟件開發和架構近10年,擅長Java體係下各項技術,在大型企業軟件平颱(如製造業ERP、財稅雲平颱、智慧城市服務平颱、電商係統等)的開發和架構方麵經驗豐富。
曾穿梭於各個技術崗位之間,並樂此不彼,期間獨立創業近兩年。多次受邀為惠普、通用等企業做技術分享、培訓和谘詢。
精彩書評
Akka 是一款優秀的分布式並發框架,雖然它是基於 Scala 語言實現的,但我們卻可輕鬆地將其運行在JVM上,在不改變現有架構的基礎上支持更高的並發量。另一方麵,Akka 是一款輕量級開源技術,它既具備良好的性能,也具備優秀的擴展性,非常適閤應用在微服務架構中。寫書是一件很有挑戰的工作,尤其是IT技術類原創圖書,相信雲飛這本書能為讀者提供幫助。
——黃勇 特贊科技CTO/《架構探險》作者
學習並掌握一個分布式並行應用框架,已經成為當下對普通程序員的基本要求。Akka以其高性能、高容錯性,恰巧可以作為一個基礎學習框架。作者在Akka方麵不僅有豐富的實戰經驗,並且善於將實戰中的各種要點和實踐,以通俗易懂的方式呈現在本書中。對於廣大程序員而言,本書是對官方文檔的補充和解釋,強烈推薦!
——陸舟 社區技術專傢/《Struts2技術內幕》作者
Akka的文檔稀缺、學習麯綫偏高、難以上手……現在,國內終於有瞭一本Akka的專著。本書係統講解瞭Akka的方方麵麵,既有Akka本身的特性,也有Akka的周邊生態,理論與實踐並重,值得一讀。
——周立 《Spring Cloud與Docker微服務架構實戰》作者
目前市麵上關於Akka的資料比較少,為瞭幫助讀者更好地瞭解並使用Akka,作者從實戰的角度全麵介紹瞭它,讀者朋友們可以藉助本書快速構建自己的高可用的分布式並行應用,非常值得一讀。
——占軍(占小狼)美團點評基礎架構組技術專傢
目錄
Contents
前言
第1章 認識Akka
1.1 Akka簡介
1.1.1 技術背景
1.1.2 Akka是什麼
1.2 Akka應用場景
1.3 Akka架構體係
1.3.1 Actor模型
1.3.2 體係結構
1.4 本章小結
第2章 走進Actor
2.1 Actor組件
2.1.1 Akka中的Actor
2.1.2 ActorSystem與監管
2.1.3 生命周期監控
2.1.4 引用與路徑
2.2 Akka環境搭建
2.2.1 環境準備
2.2.2 使用Lightbend Activator平颱
2.3 創建一個Actor
2.3.1 定義Actor
2.3.2 創建Actor實例
2.3.3 工廠模式——-Props/Creator
2.4 發送-接收消息
2.4.1 tell方法
2.4.2 ask方法
2.4.3 消息轉發
2.5 查找一個Actor
2.6 消息不可變
2.7 Actor行為切換
2.8 Actor生命周期
2.9 停掉一個Actor
2.10 監督與容錯處理
2.11 Circuit Breaker(熔斷)
2.12 配置相關
2.13 本章小結
第3章 綫程調度
3.1 什麼是Dispatcher?
3.2 Executor選擇
3.3 配置Dispatcher
3.4 使用Dispatcher
3.5 PinnedDispatcher
3.6 本章小結
第4章 郵箱
4.1 消息處理順序
4.2 默認郵箱配置
4.3 內置郵箱
4.3.1 內置郵箱說明
4.3.2 自定義優先級
4.3.3 控製指令優先
4.4 Actor使用郵箱的多種方式
4.4.1 配置Actor郵箱
4.4.2 配置dispatcher郵箱
4.4.3 實現RequiresMessageQueue接口
4.5 自定義郵箱類型
4.6 本章小結
第5章 消息路由
5.1 Router和Routee
5.2 路由器及路由邏輯
5.3 路由Actor
5.3.1 Pool方式
5.3.2 Group方式
5.4 常見路由類型
5.4.1 廣播-Broadcast
5.4.2 最快響應-ScatterGatherFirstCompleted
5.4.3 隨機-最快響應-TailChopping
5.4.4 創建可修改容量的池
5.5 特殊消息處理
5.5.1 Broadcast消息
5.5.2 PoisonPill消息
5.5.3 其他管理類消息
5.6 本章小結
第6章 實用工具
6.1 定時調度-Scheduler
6.2 處理並發結果-Future
6.2.1 Future常規用法
6.2.2 函數式Future
6.3 事件總綫
6.3.1 實現事件總綫
6.3.2 事件流處理
6.4 日誌處理
6.4.1 基礎配置
6.4.2 使用slf4j
6.5 Akka擴展
6.5.1 TypedActor初探
6.5.2 自定義擴展
6.5.3 集成Spring
6.6 Akka I/O
6.6.1 TCP服務
6.6.2 UDP服務
6.7 Akka Streams
6.7.1 Streams組件
6.7.2 組閤Source、Sink
6.7.3 案例:日誌處理
6.7.4 錯誤處理
6.7.5 關聯Actor
6.8 本章小結
第7章 遠程
7.1 遠程介紹
7.1.1 Java RPC
7.1.2 Akka遠程
7.2 創建遠程ActorSystem
7.3 Actor遠程訪問
7.4 創建遠程Actor
7.5 遠程路由器
7.6 遠程事件
7.7 序列化
7.7.1 Protobuf框架
7.7.2 序列化API
7.8 本章小結
第8章 集群
8.1 Akka集群概述
8.1.1 種子節點
8.1.2 領導節點
8.1.3 節點狀態及生命周期
8.1.4 故障檢測
8.2 創建Akka集群
8.2.1 代碼及集群配置
8.2.2 啓動集群
8.2.3 加入集群
8.2.4 akka-cluster集群工具
8.3 集群示例-實現文章單詞統計
8.3.1 示例分析
8.3.2 代碼實現
8.4 使用路由
8.4.1 Group路由
8.4.2 Pool路由
8.5 集群指標
8.5.1 指標收集
8.5.2 基於指標的負載均衡
8.6 集群單例
8.7 集群客戶端
8.7.1 集群客戶端概述
8.7.2 使用 ClusterClient
8.7.3 事件監聽
8.8 集群分片
8.8.1 分片概念
8.8.2 持久化Actor
8.8.3 分片示例
8.9 本章小結
第9章 HTTP服務
9.1 HTTP協議
9.1.1 header信息
9.1.2 狀態碼
9.2 Akka HTTP
9.2.1 配置依賴
9.2.2 HTTP服務端
9.2.3 請求和響應
9.2.4 HTTP客戶端
9.2.5 使用Routing DSL
9.2.6 常用Directive
9.3 Akka WebSocket
9.3.1 WebSocket協議
9.3.2 Akka WebSocket
9.3.3 WebSocket應用之聊天室
9.4 本章小結
第10章 微服務全傢桶之Lagom
10.1 Lagom簡介
10.2 Lagom初探
10.3 搭建Lagom服務
10.3.1 項目結構
10.3.2 編寫Lagom服務
10.4 持久化實體
10.4.1 持久化簡介
10.4.2 PersistentEntity API
10.4.3 持久化示例
10.4.4 MySQL支持
10.5 Lagom部署(SandBox)
10.5.1 安裝ConductR SandBox
10.5.2 部署Maven項目
10.6 本章小結
Akka實戰:快速構建高可用分布式應用 下載 mobi epub pdf txt 電子書 格式