Hi!
I’ve started a new series on my YouTube channel named “Alex Tried to Understand”. It will be short tech-related clips dedicated to some technical aspects. The first episode is dedicated to the ordering guarantees in Apache Kafka.
Synopsis
The official docs state that Kafka preserves message ordering inside a single partition. But a little further away the same doc covers a parameter of max.in.flight.requests.per.connection. Following the description, it means: “The maximum number of unacknowledged requests the client will send on a single connection before blocking. Note that if this config is set to be greater than 1 and enable.idempotence is set to false, there is a risk of message re-ordering after a failed send due to retries (i.e., if retries are enabled).” Wow, that sounds dangerous.