Mastering Akka
暫譯: 精通 Akka
Christian Baxter
- 出版商: Packt Publishing
- 出版日期: 2016-10-21
- 售價: $2,200
- 貴賓價: 9.5 折 $2,090
- 語言: 英文
- 頁數: 436
- 裝訂: Paperback
- ISBN: 1786465027
- ISBN-13: 9781786465023
-
相關分類:
Java 相關技術
海外代購書籍(需單獨結帳)
買這商品的人也買了...
相關主題
商品描述
Key Features
- This book will help you cure anemic models with domain-driven design
- We cover major Akka programming concepts such as concurrency, scalability, and reactivity
- You will learn concepts like Event Sourcing and CQRS via Akka Persistence, Akka Streams, Akka Http as well as Akka Clustering
Book Description
For a programmer, writing multi-threaded applications is critical as it is important to break large tasks into smaller ones and run them simultaneously. Akka is a distributed computing toolkit that uses the abstraction of the Actor model, enabling developers to build correct, concurrent, and distributed applications using Java and Scala with ease.
The book begins with a quick introduction that simplifies concurrent programming with actors. We then proceed to master all aspects of domain-driven design. We ll teach you how to scale out with Akka Remoting/Clustering. Finally, we introduce Conductr as a means to deploy to and manage microservices across a cluster.
What you will learn
- Use Akka actors to enable parallel execution
- Build out domain-driven design based components like entities and aggregates
- Respond to command requests on that aggregate root that affect the internal state
- Leverage Akka Persistence, protobuf and Cassandra to save the persistent state of you entities
- Build out complex processing graphs with the Graph Builder DSL
- Understand the dynamic push/pull nature of backpressure handling within Akka Streams
- Route HTTP requests to an actor and return a response
- Deploy actor instances across a set of nodes via Conductr for high availability
About the Author
Christian Baxter, from an early age, has always had an interest in understanding how things worked. Growing up, he loved challenges and liked to tinker with and fix things. This inquisitive nature was the driving force that eventually led him into computer programming. While his primary focus in college was life sciences, he always set aside time to study computers and to explore all aspects of computer programming. When he graduated from college during the height of the Internet boom, he taught himself the necessary skills to get a job as a programmer. He s been happily programming ever since, working across diverse industries such as insurance, travel, recruiting, and advertising. He loves building out high-performance distributed systems using Scala on the Akka platform.
Christian was a long time Java programmer before making the switch over to Scala in 2010. He was looking for new technologies to build out high throughput and asynchronous systems and loved what he saw from Scala and Akka. Since then, he's been a major advocate for Akka, getting multiple ad tech companies he s worked for to adopt it as a means of building out reactive applications. He's also been an occasional contributor to the Akka codebase, identifying and helping to fix issues. When he s not hacking away on Scala and Akka, you can usually find him answering questions on Stackoverflow as cmbaxter.
Table of Contents
- Building a Better Reactive App
- Simplifying Concurrent Programming with Actors
- Curing Anemic Models with Domain-Driven Design
- Making History with Event Sourcing
- Separating Concerns with CQRS
- Going with the Flow with Akka Streams
- REST Easy with Akka HTTP
- Scaling Out with Akka Remoting/Clustering
- Managing Deployments with ConductR
- Troubleshooting and Best Practices
商品描述(中文翻譯)
**主要特點**
- 本書將幫助您使用領域驅動設計來改善貧血模型
- 我們涵蓋主要的 Akka 程式設計概念,如併發性、可擴展性和反應性
- 您將通過 Akka Persistence、Akka Streams、Akka Http 以及 Akka Clustering 學習事件來源(Event Sourcing)和 CQRS 等概念
**書籍描述**
對於程式設計師來說,撰寫多執行緒應用程式至關重要,因為將大型任務拆分為較小的任務並同時執行是非常重要的。Akka 是一個分散式計算工具包,使用 Actor 模型的抽象,使開發人員能夠輕鬆地使用 Java 和 Scala 構建正確的、併發的和分散式的應用程式。
本書以簡短的介紹開始,簡化了使用 Actor 的併發程式設計。接著,我們將掌握領域驅動設計的各個方面。我們將教您如何使用 Akka Remoting/Clustering 進行擴展。最後,我們介紹 Conductr 作為在集群中部署和管理微服務的手段。
**您將學到的內容**
- 使用 Akka actors 來實現並行執行
- 構建基於領域驅動設計的組件,如實體和聚合
- 對影響內部狀態的聚合根的命令請求作出響應
- 利用 Akka Persistence、protobuf 和 Cassandra 保存實體的持久狀態
- 使用 Graph Builder DSL 構建複雜的處理圖
- 理解 Akka Streams 中背壓處理的動態推/拉特性
- 將 HTTP 請求路由到 Actor 並返回響應
- 通過 Conductr 在一組節點上部署 Actor 實例以實現高可用性
**關於作者**
**Christian Baxter** 從小就對理解事物的運作方式充滿興趣。成長過程中,他喜歡挑戰,喜歡修理和改裝東西。這種好奇心最終驅使他進入了計算機程式設計的領域。雖然他在大學的主要專注是生命科學,但他總是抽出時間學習計算機並探索計算機程式設計的各個方面。當他在互聯網熱潮中畢業時,他自學了必要的技能以獲得程式設計師的工作。自那時以來,他一直快樂地從事程式設計,並在保險、旅遊、招聘和廣告等多個行業工作。他喜歡在 Akka 平台上使用 Scala 構建高性能的分散式系統。
Christian 在 2010 年之前是一名長期的 Java 程式設計師,然後轉向 Scala。他尋找新技術來構建高吞吐量和非同步系統,並喜歡 Scala 和 Akka 所提供的功能。自那時以來,他一直是 Akka 的主要倡導者,促使他曾工作的多家廣告技術公司採用它來構建反應式應用程式。他也偶爾為 Akka 代碼庫做出貢獻,識別並幫助修復問題。當他不在 Scala 和 Akka 上編程時,您通常可以在 Stackoverflow 上找到他,使用帳號 cmbaxter 回答問題。
**目錄**
1. 構建更好的反應式應用程式
2. 使用 Actors 簡化併發程式設計
3. 使用領域驅動設計改善貧血模型
4. 使用事件來源創造歷史
5. 使用 CQRS 隔離關注點
6. 使用 Akka Streams 隨流而行
7. 使用 Akka HTTP 簡化 REST
8. 使用 Akka Remoting/Clustering 進行擴展
9. 使用 ConductR 管理部署
10. 故障排除和最佳實踐