[rabbitmq-discuss] rabbitmq-discuss Digest, Vol 18, Issue 34
Matthias Radestock
matthias at lshift.net
Tue Nov 18 07:55:07 GMT 2008
Ilya,
Ilya Grigorik wrote:
> If the producer isn't rate-limited then message backlogs can build
> up in various places throughout the system, before they ever get to
> the persister. Furthermore, unless you use transactions, messages
> are persisted asynchronously. So consequently you may have many more
> messages in memory than have been written to disk.
>
>
> Interesting, I thought the semantics of 'persistent' flag guaranteed
> that each messages has been committed to a journal?
basic.publish is an asynchronous method, and quite deliberately so; it
does not solicit a reply from the server. So while the server ensures
that each persistent message is *eventually* committed to a journal,
there is no way for the server to tell the producer when that has been done.
Use of tx.{select,commit,rollback} changes that. The server guarantees
that by the time it sends a tx.commit-ok all persistent messages
published inside the preceding tx have been written to disk.
Matthias.
More information about the rabbitmq-discuss
mailing list