Sign In
BizTalk Architecture, High Availability and MSMQ Adapters
EldarM on BizTalk Server Engine and Around with a stress on high availability and MSMQ Adapters
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Blog Home
Email Blog Author
Share this
RSS for posts
Atom
RSS for comments
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
Announcements
BizTalk
Generic
MSMQT
None
Questions
Scalability
Archive
Archives
April 2010
(1)
March 2007
(1)
November 2006
(1)
June 2006
(1)
February 2006
(5)
January 2006
(1)
October 2005
(1)
September 2005
(2)
July 2005
(4)
June 2005
(2)
April 2005
(1)
March 2005
(2)
February 2005
(3)
October 2004
(2)
September 2004
(1)
August 2004
(1)
July 2004
(1)
How MSMQT behind NLB works
MSDN Blogs
>
BizTalk Architecture, High Availability and MSMQ Adapters
>
How MSMQT behind NLB works
How MSMQT behind NLB works
EldarM1
8 Sep 2005 4:03 PM
Comments
1
MSMQT supports only one mode for MSMQ protocol -- transactional exactly once in order. Now, how MSMQ does that. The sender sends a TCP request for the destination queue to the port 1801 and establishes the connection. Then all the messages to this queue go through this already established connection. If the TCP connection breaks, the sender establishes the connection again.
If the receive side is actually a set of machines behind NLB, then when the sender sends the request for TCP connection, it is randomly assigned to one of the the machines behind NLB, and then it is a connection between the sender and this particular machine, at least until the connection breaks for some reason. Hence, while a single sender sends to a single queue, only one machine in the group services it, other machines cannot participate. But if the machine goes down, another machine can pick up the work. Because for BizTalk MSMQT the storage is common, if a connection breaks, another machine can get it when the senders reestablishes the connection.
Now, if different sender or different destiation queues are involved, new TCP connection is established for each, and NLB will assign new TCP connections to different machines, so in this case there will be load balancing. Sender A may be connected to the receiving machine 5, while sender B to machine 3, and sender C to the machine 4. So, that would provide scaling if enough senders and destination queues are involved. Still if one of these connections breaks, another machine may be used to reestablish it by NLB when the sender retries.
Again, so far there is pretty much nothing BizTalk-specific. BizTalk just implements that with fidelity, nothing more.
See
http://blogs.msdn.com/eldarm/archive/2004/09/17/230951.aspx
on what BizTalk does for that to work.
1 Comments
BizTalk
,
MSMQT
Blog - Comment List MSDN TechNet
Comments
Loading...