Learning Akka

Build fault tolerant concurrent and distributed applications with Akka

Learning Akka

This ebook is included in a Mapt subscription
Jason Goodwin

2 customer reviews
Build fault tolerant concurrent and distributed applications with Akka
$0.00
$18.00
$44.99
$29.99p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 4,000+ eBooks & Videos
  • 40+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

Book Details

ISBN 139781784393007
Paperback274 pages

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.

Table of Contents

Chapter 1: Starting Life as an Actor
What's in this book?
Chapter overview
What is Akka
What we will build
Setting up your environment
Creating your first Akka application – setting up the SBT project
Homework
Summary
Chapter 2: Actors and Concurrency
Reactive system design
The 4 reactive tenets
Anatomy of an Actor
Creating an actor
Promises, futures, and event-driven programming models
Homework
Summary
Chapter 3: Getting the Message Across
Setting the stage with an example problem
Messaging delivery
Homework
Summary
Chapter 4: Actor Lifecycle – Handling State and Failure
The 8 Fallacies of Distributed Computing
Failure
State
Homework
Summary
Chapter 5: Scaling Up
Moore's law
Multicore architecture as a distribution problem
Choosing Futures or Actors for concurrency
Doing work in parallel
Working with Dispatchers
Homework
Summary
Chapter 6: Successfully Scaling Out – Clustering
Introducing Akka Cluster
One Giant Monolith or Many Micro Services?
Definition of a Cluster
CAP Theorem
Building Systems with Akka Cluster
Combining Sharding and Replication
Addressing Remote Actors
Homework
Summary
Chapter 7: Handling Mailbox Problems
Overwhelming your weakest link
Resiliency
Staying responsive under load
Homework
Summary
Chapter 8: Testing and Design
Example problem
Approaching application design
Designing, building, and testing the Domain model
Testing actors
Testing Advice
Homework
Summary
Chapter 9: A Journey's End
Other Akka Features and Modules
Deployment Tools
Monitoring Logs and Events
Summary

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

Authors

Table of Contents

Chapter 1: Starting Life as an Actor
What's in this book?
Chapter overview
What is Akka
What we will build
Setting up your environment
Creating your first Akka application – setting up the SBT project
Homework
Summary
Chapter 2: Actors and Concurrency
Reactive system design
The 4 reactive tenets
Anatomy of an Actor
Creating an actor
Promises, futures, and event-driven programming models
Homework
Summary
Chapter 3: Getting the Message Across
Setting the stage with an example problem
Messaging delivery
Homework
Summary
Chapter 4: Actor Lifecycle – Handling State and Failure
The 8 Fallacies of Distributed Computing
Failure
State
Homework
Summary
Chapter 5: Scaling Up
Moore's law
Multicore architecture as a distribution problem
Choosing Futures or Actors for concurrency
Doing work in parallel
Working with Dispatchers
Homework
Summary
Chapter 6: Successfully Scaling Out – Clustering
Introducing Akka Cluster
One Giant Monolith or Many Micro Services?
Definition of a Cluster
CAP Theorem
Building Systems with Akka Cluster
Combining Sharding and Replication
Addressing Remote Actors
Homework
Summary
Chapter 7: Handling Mailbox Problems
Overwhelming your weakest link
Resiliency
Staying responsive under load
Homework
Summary
Chapter 8: Testing and Design
Example problem
Approaching application design
Designing, building, and testing the Domain model
Testing actors
Testing Advice
Homework
Summary
Chapter 9: A Journey's End
Other Akka Features and Modules
Deployment Tools
Monitoring Logs and Events
Summary

Book Details

ISBN 139781784393007
Paperback274 pages
Read More
From 2 reviews

Read More Reviews