Skip to content
Discussion options

You must be logged in to vote

In most real systems, the decision is less about guarantees and more about cost.

I default to at-least-once processing combined with idempotent consumers. It provides strong reliability while keeping operational complexity manageable.

Exactly-once processing becomes justified only when:

Side effects are irreversible or extremely expensive to roll back.

Idempotency is impractical or impossible.

The system already depends on transactional guarantees across boundaries.

In many cases, exactly-once semantics shift complexity from the consumer to the infrastructure, often making failure modes harder to reason about. For that reason, I treat it as an optimization for specific constraints rather …

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by iaversao7-sketch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants