I’ve recently read this great post by Łukasz Kyć about using multiple Kafka topics to implement a retry stream.
I took this idea to re implement our own retry stream that had some flaws.
This post describes how I implemented this using alpakka-kafka but this is not an introduction to akka-streams or akka.

You should read Lukasz’s post before continuing whit this one.

Our flawed implementation

Our implementation also used Kafka to store retries and decouple the retry logic from the main logic, allowing us to continue processing events and postpone the retry attempt to improve the chances to overcome a transient failure (maybe that specific event wasn’t ready to consume yet). …

Gabriel Giussi

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store