[openamq-dev] Named & Persistent Queue Status
Pieter Hintjens
ph at imatix.com
Mon Nov 19 10:34:20 CET 2007
On Nov 18, 2007 7:03 PM, Matthew Alton <simplicissimus at gmail.com> wrote:
> Interesting. To be clear, this method of achieving persistence is
> necessarily synchronous, yes? What we are discussing is not equivalent to a
> persistent queue a la MQ Series. The notion of "email for programs" is out,
> correct?
No, it's not synchronous as such. The request-ack dialog delivers one
message to a destination. If you want to do a full request + response
dialog, you can either combine the response and the ack, or you can do
request-ack plus response-ack as four messages. It sounds like extra
overhead but these messages are cheap.
To some extent it is equivalent to creating a reliable message queue
at the sender side and a reliable ack queue at the recipient side. If
we have this code in a framework (an API layer sitting above WireAPI)
then it's effectively free for applications.
What you cannot do easily is 1-to-N distribution, i.e. transaction
sharing, with reliability, using this model.
If you were to add persistent queues to OpenAMQ, you would get a more
classic reliability model, with transactions. The protocol supports
this We did not implement it for a couple of reasons, mainly we found
the end-to-end reliability model easier and more robust.
-Pieter
More information about the openamq-dev
mailing list