Exactly-once semantics (EOS) gwarantuje, że każda wiadomość jest przetwarzana dokładnie raz — bez strat, bez duplikatów — nawet w przypadku awarii i ponownych prób. Kafka osiąga to poprzez idempotentnych producentów i transakcji, choć jest to złożone i wiąże się z narzutem.
Wyzwanie
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.
