How does MSMQT work in high availability scenarios?
BizTalk Message Queuing (also known as MSMQT) works the same as Microsoft Message Queuing (MSMQ) from a network perspective. The main difference is that instead of sending messages to a queue, you send them to a receive location in BizTalk Message Queuing. The receive locations and send ports are accessible in the BizTalk Server Administration console and BizTalk Explorer.
Only one server can handle one MSMQ (inbound or outbound) and once a server has started to process the stream for a particular queue, no one else can process the same queue unless the current server dies, or it voluntarily relinquishes the stream after a certain period of inactivity (set at 5 minutes by default). Please also note that when an MSMQT Server is throttled, it simply blocks all incoming messages and simulates "Queue Inactivity" so that the Queue Instance gets eventually dehydrated and will get picked up by another server when a new incoming message comes in. There is no guarantee as to which server will pick it up again.
See all of our documentation issues we are blogging about: