Learning Akka (Paperback)

Jason Goodwin

商品描述

Key Features

  • Build networked applications that self-heal
  • Scale out your applications to handle more traffic faster
  • An easy-to-follow guide with a number of examples to ensure you get the best start with Akka

Book Description

Software today has to work with more data, more users, more cores, and more servers than ever. Akka is a distributed computing toolkit that enables developers to build correct concurrent and distributed applications using Java and Scala with ease, applications that scale across servers and respond to failure by self-healing. As well as simplifying development, Akka enables multiple concurrency development patterns with particular support and architecture derived from Erlang's concept of actors (lightweight concurrent entities). Akka is written in Scala, which has become the programming language of choice for development on the Akka platform.

Learning Akka aims to be a comprehensive walkthrough of Akka. This book will take you on a journey through all the concepts of Akka that you need in order to get started with concurrent and distributed applications and even build your own.

Beginning with the concept of Actors, the book will take you through concurrency in Akka. Moving on to networked applications, this book will explain the common pitfalls in these difficult problem areas while teaching you how to use Akka to overcome these problems with ease.

The book is an easy to follow example-based guide that will strengthen your basic knowledge of Akka and aid you in applying the same to real-world scenarios.

What you will learn

  • Use Akka to overcome the challenges of concurrent programming
  • Resolve the issues faced in distributed computing with the help of Akka
  • Scale applications to serve a high number of concurrent users
  • Make your system fault-tolerant with self-healing applications
  • Provide a timely response to users with easy concurrency
  • Reduce hardware costs by building more efficient multi-user applications
  • Maximise network efficiency by scaling it

About the Author

Jason Goodwin is a developer who is primarily self-taught. His entrepreneurial spirit led him to study business at school, but he started programming when he was 15 and always had a high level of interest in technology. This interest led his career to take a few major changes away from the business side and back into software development. His journey has led him to working on high-scale distributed systems. He likes to create electronic music in his free time.

He was first introduced to an Akka project at a Scala/Akka shop―mDialog―that built video ad insertion software for major publishers. The company was acquired by Google eventually. He has also been an influential technologist in introducing Akka to a major Canadian telco to help them serve their customers with more resilient and responsive software. He has experience of teaching Akka and functional and concurrent programming concepts to small teams there. He is currently working via Adecco at Google.

Table of Contents

  1. Starting Life as an Actor
  2. Actors and Concurrency
  3. Getting the Message Across
  4. Actor Lifecycle – Handling State and Failure
  5. Scaling Up
  6. Successfully Scaling Out – Clustering
  7. Handling Mailbox Problems
  8. Testing and Design
  9. A Journey's End

商品描述(中文翻譯)

主要特點



  • 構建能自我修復的網絡應用程式

  • 擴展應用程式以處理更多的流量

  • 提供易於遵循的指南,並附有多個示例,確保您在使用Akka時能夠有最佳的開始

書籍描述


現今的軟體需要處理更多的數據、更多的使用者、更多的核心和更多的伺服器。Akka是一個分散式計算工具包,使開發人員能夠輕鬆地使用Java和Scala構建正確的並行和分散式應用程式,這些應用程式可以跨伺服器擴展並在失敗時自我修復。除了簡化開發,Akka還通過支持並從Erlang的actor概念(輕量級並行實體)中獲得的特定支持和架構,實現了多種並發開發模式。Akka是用Scala編寫的,Scala已成為在Akka平台上開發的首選編程語言。


《學習Akka》旨在成為Akka的全面指南。本書將帶您深入了解Akka的所有概念,以便您能夠開始使用並行和分散式應用程式,甚至構建自己的應用程式。


從actor的概念開始,本書將引導您了解Akka中的並發。接著,本書將解釋網絡應用程式中的常見問題,同時教您如何使用Akka輕鬆解決這些問題。


本書是一本易於遵循的基於示例的指南,將加強您對Akka的基礎知識,並幫助您應用於實際場景中。

您將學到什麼



  • 使用Akka克服並發編程的挑戰

  • 使用Akka解決分散式計算中的問題

  • 擴展應用程式以服務大量並發使用者

  • 通過自我修復的應用程式使系統具有容錯能力

  • 通過輕鬆並發提供及時響應給使用者

  • 通過構建更高效的多用戶應用程式降低硬體成本

  • 通過擴展網絡提高網絡效率

關於作者


Jason Goodwin是一位主要自學的開發人員。他的創業精神使他在學校學習了商業,但他在15歲時開始編程,並一直對技術有著高度的興趣。這種興趣使他的職業生涯從商業領域轉向軟體開發。他的經歷使他參與了高規模分散式系統的開發。他在空閒時間喜歡創作電子音樂。


他首次接觸到Akka項目是在一家Scala/Akka公司mDialog,該公司為主要出版商開發視頻廣告插入軟體。該公司最終被Google收購。他還在一家加拿大主要電信公司引入Akka方面發揮了重要的技術影響力,以幫助他們提供更具彈性和響應性的軟體。他在那裡教授Akka和函數式並發編程概念的經驗。他目前在Adecco公司為Google工作。

目錄



  1. 作為Actor的起點

  2. Actor和並發

  3. 傳遞訊息

  4. Actor生命週期 - 處理狀態和失敗

  5. 擴展

  6. 成功擴展 - 集群

  7. 處理郵箱問題

  8. 測試和設計

  9. 旅程的終點