Erlang Mailing Lists

Author Message

<  RabbitMQ mailing list  ~  State and idempotency (was Replicated message queue? DRDB+H

tonyg
Posted: Thu Feb 28, 2008 8:25 am Reply with quote
User Joined: 07 Nov 2006 Posts: 199
Tom Samplonius wrote:
>> application logic to identify duplicate messages (just in case).
>
> I've never come across a good way of doing this. I can attach a
> unique id to each message, but then the clients have to keep state on
> which ids they've processed. And if you multiple clients, they need
> to talk to each other too. I don't want consumers to have to keep
> state.

Indeed. Ultimately, to support exactly-once delivery, the clients do
have to have some kind of state. It can be reduced to a minimum, though
- perhaps as far as two facts: the client's name, and a single integer
representing its "high tide mark" in the incoming message stream.

The way we're looking to address this is to introduce the notion of a
session. Sessions provide a notion of scope for stateful things like
exactly-once delivery, with minimal client-side state.

By using the client-to-server notion of sessions, each client just needs
to remember where it was up to in its conversation with the server,
rather than anything about the wider conversations with other clients
that are layered on top of the AMQP network, reducing the O(n^2) problem
to O(n).

Regards,
Tony

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
View user's profile Send private message MSN Messenger

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum