# Instrumenting distributed messaging: The fallacy of exactly once delivery

DevFeed: [Instrumenting distributed messaging: The fallacy of exactly once delivery](<https://devfeed.tech/articles/instrumenting-distributed-messaging-the-fallacy-of-exactly-once-delivery-39577.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/25-instrumenting-distributed-messaging-exactly-once-delivery/>)

Author: hello@ankit-rana.com

Published: 2026-05-17T00:00:00Z

Content type: opinion

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [Kafka](<https://devfeed.tech/topics/kafka.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [Network](<https://devfeed.tech/topics/network.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [broker](<https://devfeed.tech/tags/broker.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [idempotency](<https://devfeed.tech/tags/idempotency.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [latency](<https://devfeed.tech/tags/latency.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [network](<https://devfeed.tech/tags/network.md>)

## AI overview

The article argues that exactly-once delivery cannot be guaranteed by an unreliable network's physical transport layer. It explains that Kafka's exactly-once semantics use transactional coordination, additional network round trips, and disk fsyncs, and recommends at-least-once delivery with idempotent consumers.

## Source excerpt

There is no physical mechanism for exactly-once delivery over an unreliable network. If the sender does not receive an acknowledgement it can drop the message, giving at-most-once, or resend it, giving at-least-once. Those are the only two options. Kafka's exactly-once semantics buy the illusion with a transactional wrapper costing extra round trips and forced fsyncs, so configure brokers for at-least-once and make consumers fiercely idempotent instead.