[rabbitmq-discuss] rabbitmq cluster failover for persistent queues
Matthias Radestock
matthias at lshift.net
Mon Jul 27 00:38:17 BST 2009
Charles,
charles woerner wrote:
> So in the case of competing consumers taking messages from a rabbitmq
> broker cluster it sounds like once-and-only-once delivery is somewhat
> up to the application to implement by arranging for each message to
> be delivered to redundant queues (ie. 2 separate queues with similar
> bindings residing on different hosts), then coordinate among your
> consumers to ensure once-and-only-once delivery using a database or
> simply to make your workflow idempotent with respect to the duplicate
> messages.
Exactly-once requires coordination between consumers, or idempotency,
even when there is just a single queue. The consumer, broker or network
may die during the transmission of the ack for a message, thus causing
retransmission of the message (which the consumer has already seen and
processed) at a later point.
Once that issue has been addressed in a system, the introduction of
redundant queues doesn't present any new challenges.
Regards,
Matthias.
More information about the rabbitmq-discuss
mailing list