[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