Exactly-once semantics (EOS) ensures each message is processed exactly once — no loss, no duplicates — even with failures and retries. Kafka achieves this through idempotent producers and transactions, though it's complex and has overhead.
The challenge
Exactly-once is HARD in distributed systems (failures, retries, duplicates are inevitable):
→ producer retries → duplicate messages; consumer reprocessing → duplicate effects
→ naive at-least-once → duplicates; at-most-once → loss
→ exactly-once requires careful mechanisms to avoid BOTH loss AND duplicates.
