advancedTransactions & Exactly-Once Semantics
What does Kafka's 'exactly-once semantics' (EOS) actually guarantee, and what's the common misconception?
EOS guarantees each message is processed and its effects committed exactly once WITHIN the Kafka ecosystem (producer-to-topic, and read-process-write consumer-to-topic patterns) using Kafka transactions. The common misconception is thinking this extends automatically to external side effects like a database write or an outbound HTTP call — those still need idempotency handling separately, since Kafka's transaction can't span an external system.
This is a Pro chapter
Sign in, then upgrade to Pro or Power to unlock this and the full Spring Ecosystem Mastery library.
What does Kafka's 'exactly-once semantics' (EOS) actually guarantee, and what's the common misconception?