[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.
Tony
More information about the rabbitmq-discuss
mailing list