[rabbitmq-discuss] Exactly Once Delivery

Tony Garnock-Jones tonyg at rabbitmq.com
Thu Aug 5 14:50:46 BST 2010

Matthew Sackman wrote:
> As a result, on the clients, you need to detect duplicates. Now this is
> really a barrier to making all operations idempotent. The problem is
> that you never know how many copies of a message there will be. Thus you
> never know when it's safe to remove messages from your dedup cache.

The other piece of this is time-to-live (TTL). Given a finite-length dedup
cache and message TTL, you can detect and report failure. (And if the ack
travels upstream to the publisher, you can report failures at the send end,
too.) Without the TTL, you have silent dups on rare occasions.


More information about the rabbitmq-discuss mailing list