Articles

This is a collection of articles I wrote over the years, presently with a strong focus on building reactive systems with Akka.

Tour of Akka Typed: Message Adapters, Ask Pattern and Actor Discovery

Published on 7 August 2019

In the previous article of this series we’ve explored the basics of the Akka Typed API: why it was created and what are its benefits in comparison to the classic Actor API, how to build typed actor systems via protocols and behaviors and how to create typed actors. In this series we’re going to go – Read More

Tour of Akka Typed: Protocols and Behaviors

Published on 11 July 2019

Update 18.08.2019: corrected actor hierarchy and default supervision strategy In this series we are going to explore Akka Typed, the new Akka Actor API that brings significant advantage over the classic one. Akka Typed is ready for production since April and although the API is still marked as may change I think it is a – Read More

Optimizing CI build times for Scala projects

Published on 17 June 2019

CI / CD pipelines that run for each new and merged pull-request (or even for each commit on a branch) are today’s de-facto standard when it comes to developing software. Running the complete test suite automatically ensures that regressions are rapidly identified and do not make it into production. As applications grow and their test – Read More

Why I’m still using a MacBook Pro Late 2013 in 2019

Published on 7 June 2019

I’ve started using Apple computers in 2008. Of all the Apple computers – and other computers – I’ve owned, the MacBook Pro Late 2013 is the one I’ve been able to keep the longest so far. The main reason that’s possible is because there are still a few ways to upgrade this Apple computer. There’s – Read More

Raspberry PI Akka Cluster LED strips

Published on 2 May 2019

Ever since Eric Loots from Lightbend first showed me the Raspberry-PI based Akka Cluster with special LED stripes, I’ve wanted (at least) one of them. This is a 5 node cluster with special LED stripes setup in such a way that the LED colour and status (on, off, blinking, etc.) show in which state each – Read More

2018: year in review

Published on 31 December 2018

I had intended to write a yearly review for a few years now but have not managed so far – 2018 is going to be the year that I finally get down to it. Looking back at the year is an interesting exercise and if I manage to keep this up for a few years – Read More

Akka anti-patterns: too many actors

Published on 6 August 2018

Update 07.08.2018: clarified optimal vs. suboptimal use cases of having many actors at runtime (it could have been misunderstood that Akka isn’t meant to build systems with many actors – it entirely is – but it is questionable whether that’s always the best approach) It occurred to me that I haven’t written yet about this – Read More

Tour of Akka Cluster

Published on 3 August 2018

Here’s an overview of the Tour of Akka Cluster article series: Tour of Akka Cluster – Akka Distributed Data Tour of Akka Cluster – Eventual consistency, persistent actors, message delivery semantics Tour of Akka Cluster – Cluster Sharding Tour of Akka Cluster – Testing with the multi-node-testkit and a handful Raspberry PIs

Akka anti-patterns: Java serialization

Published on 20 July 2018

Akka makes use of serialization when messages leave the JVM boundaries. This can happen in mainly two scenarios: sending messages over the network when using Akka Cluster (do not use Akka Remote directly) or using Akka Persistence. Now here’s the catch: the default serialization technology configured in Akka is nothing but the infamous Java serialization, – Read More

Akka anti-patterns: stateless actors

Published on 30 May 2018

Actors are object-orientation done right (as opposed to say, objects in Java): their state is not visible from the outside and they communicate via messages. There’s no way to break encapsulation because you can’t peek into an actor’s state while it is running. That’s the entire point of actors: they provide you with the illusion – Read More