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 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). …