[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