Exactly-once semantika (EOS) užtikrina, kad kiekvienas pranešimas būtų apdorotas tiksliai vieną kartą — be nuostolių, be dublikačių — net susidurant su gedimais ir pakartotiniais bandymais. Kafka tai pasiekia naudodama idempotentinius gamintojus ir transakcijas, nors tai sudėtinga ir turi pridėtines išlaidas.
Iššūkis
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.
