Delivery Options

Microsoft Message Queue Server supports three options for the delivery of messages. Each of these delivery options provides different advantages to the transmission of messages. Likewise, they each have tradeoffs associated with each one. The three types of delivery options are:

Memory-based delivery means that the message remains in the system memory as it moves from queue manager to queue manager through the message queue system. If there is a problem in the network and the queue manager that is currently processing the message cannot contact the next queue manager in the network, then the message will be held until the connection can be restored. Memory-based delivery is very fast, since the message is never transferred from system memory to disk storage. While this type of message will survive a failure in the network connection between two queue managers, it will not survive a failure of the machine that it is currently on. Since the message is held in memory, if the machine it is currently on fails, then the message will be lost. This is the tradeoff that you must pay to get the speed advantage of memory-based delivery.

Disk-based delivery means that as the message moves from queue manager to queue manager, it is written to permanent disk storage on each machine. When the message is transferred off to the next machine, it will be removed from the previous machine's disk storage. Since this message has to be written to disk on every machine that it passes through, this means that it will take the message much longer to reach its destination. This method of delivery is slower than memory-based delivery. But here, the tradeoff is in terms of recoverability. Since each queue manager it passes through writes every message sent with this delivery method to disk, a system failure would not destroy the message. This relies on the use of a recoverable file system, such as NTFS or a RAID partition, to recover the messages in the case of a disk corruption.

With transactional delivery, the progress of each message from sender to receiver is considered a transaction. If you recall from Chapter 1, transactions have the ACID characteristics.This means that a transactional delivered message will be atomic, consistent, independent, and durable. To be durable, a transactional message uses the disk-based delivery method of writing every message to permanent storage as it moves through the system. The atomic characteristic means that the message will be delivered exactly one time, and in the same order it was sent. Transactional messages use the functionality that is available in Microsoft Transaction Server to provide the transactional characteristics of the messages delivery.

© 1998 by Wrox Press. All rights reserved.