The reactive paradigm is a wonderful thing. The basic idea is that a reactive application, as much as possible, is asynchronous from beginning to end. It should be event driven, fault tolerant, scalable and responsive. Writing an asynchronous application, however, has it’s own set of unique challenges. In this post I’ll demonstrate an approach we took to solve the challenge of maintaining a definite order, specifically when performing database updates in asynchronous code within an actor.