[rabbitmq-discuss] Making persistence simpler (Was: AMQP & Python Write-Up)
Martin Sustrik
sustrik at imatix.com
Sat Jan 17 13:55:19 GMT 2009
Jason,
> My thinking on it is that the publisher should be able to be as "dumb"
> as possible. This seems to be a tenet of AMQP from my reading, based
> on the fact that it doesn't know where the message is going.
>
> In the way we're designing uses for the queues, the consumers are the
> ones that know if they need the messages to be persistent, or rather
> know the value of the message. Largely because they have the details
> on what they're doing with the message.
>
> To that end, requiring every publisher to mark a message consistent,
> means one accidentally may not be coded that way, and thereby will
> override the consumer's need for the message to be persistent.
>
> It seems to me in that regard, it makes more sense to make persistence
> an attribute of the exchange and the queue (as durable is).
>
> Fewer moving parts to keep track of, and the publishers can be
> simple-minded minions. ;-)
Specifying persistence on per-message basis makes no sense of course.
However, JMS API requires it to be specified that way. One of AMQP goals
is to provide standardised wire-level protocol for JMS implementations.
Thus, AMQP has to offer per-message notion of persistence. RabbitMQ is
AMQP imlementation and so it has to comply :(
Martin
More information about the rabbitmq-discuss
mailing list