On 4/12/07, wmene <[EMAIL PROTECTED]> wrote:
Say I'm using a virtual topic that has 20 subscribers. I'm guessing as to how this is implemented, but if a producer sends a message to the virtual topic, is it copied to 20 separate queues?
Logically yes.
If the messages are copied to different queues, is this done in some sort of transaction on the broker? Say only 9 of the 20 queues get the copied message before a broker failure, does this transaction fail, and are all copies rolled back?
I'm trying to think of possible errors which could occur, but can't think of too many. The 'send to 20 queues' typically always just works unless there is a catastrophic hardware failure. The one improvement we could make is that we should make the 'send to 20 queues' an asynchronous operation so that there's only a single sync-to-disk; but thats really just a performance optimisation. Note that the producer of the message can be inside its own transaction; so if the send to 11 queues actually fails, it can rollback. -- James ------- http://radio.weblogs.com/0112098/