Akka anti-patterns: naming your application components after Akka concepts

Published on 26 August 2017 , last updated on 29 August 2017

So you’ve just learned Akka and are tremendously excited. It’s got dispatchers, routers, supervisors – so many shiny things to play with, and in style (I mean, come on, a dispatcher sounds a lot nicer than, say, an AbstractSingletonProxyFactoryBean).

d726ffbf9d0930295e3d98de53b93c53

And so it happens that, perhaps even unknowingly to you (you’re busy configuring a pool router), your actors start getting names such as:

I’ve observed this on three projects now, for two of which I delivered an introductory Akka training to the team beforehand. I’d say that this anti-pattern is especially to be found in projects where people are just getting started with Akka.

Now, why is this a problem?

I can think of a few reasons why this type of naming isn’t such a good idea:

In short, be careful about how you design your actor system and how you name your actors. This is, after all, one of the most important things in building actor systems (and, quite arguably, software in general).

Does your application show some of the symptoms described above? Contact me if you want a review of your Akka application.


Liked this post? Subscribe to the mailing list to get regular updates on similar topics.

Leave a Reply