Afterword

We started this book with the assertion that the ideas of concurrency and distribution are fundamental to modern software development. The classical model of computation builds an illusion for us that is not much like the real world, or particularly valuable in a distributed and concurrent environment.

As we have seen, though, the Actor Model builds on a different paradigm, one that fits the reality of the world much better and is especially well suited to reasoning about and building systems whose components are location- and behavior-independent of each other.

Actors are a very powerful abstraction, but they are quite unlike normal imperative or even functional approaches to application development. Applied correctly, they provide a means to easily scale your application, both in terms of its ability to handle load and its ability to handle complex, multistage computations. Applied incorrectly, they can make your application complex and hard to reason about—and therefore hard to maintain.

The difference is in the design patterns.

There are many similarities between good actor patterns and good reactive microservice architectures. Reactive microservice architectures are applied “in the large” as a high-level abstraction to build systems; actor patterns are applied “in the small,” within (and between) individual services.

However, if done well, both share the attributes of isolation, independent action and autonomy, resilience, preservation of private state, ...

Get Applied Akka Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.