Learning Akka (Paperback)
內容描述
Key FeaturesBuild networked applications that self-healScale out your applications to handle more traffic fasterAn easy-to-follow guide with a number of examples to ensure you get the best start with AkkaBook DescriptionSoftware 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 learnUse Akka to overcome the challenges of concurrent programmingResolve the issues faced in distributed computing with the help of AkkaScale applications to serve a high number of concurrent usersMake your system fault-tolerant with self-healing applicationsProvide a timely response to users with easy concurrencyReduce hardware costs by building more efficient multi-user applicationsMaximise network efficiency by scaling itAbout the AuthorJason 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 ContentsStarting Life as an ActorActors and ConcurrencyGetting the Message AcrossActor Lifecycle – Handling State and FailureScaling UpSuccessfully Scaling Out – ClusteringHandling Mailbox ProblemsTesting and DesignA Journey's End