Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MSMQ in Network Load Balancing server farm

453 views
Skip to first unread message

Fluffmeister

unread,
Dec 7, 2005, 3:03:02 AM12/7/05
to
Hi

I have a slightly bizarre question based on the use of MSMQ within a
load-balanced farm. In general, I can use load balancing to my advantage - I
simply replace the physical host with that of the virtual server and I'm
laughing.

However I have one scenario where I need clients to send messages via MSMQ
to the virtual server, but have only one (master) server in the farm process
the messages. The master server is decided (very basically) by a race
condition at start-up and subsequent health checks. It is possible that the
master could switch at any time, depending on availability etc.

My question is this: If I have only one server in my farm configured to
receive messages at any one time, will all messages directed to the virtual
server arrive here? Or will they simply be routed to any server in the farm,
and sit there waiting to be received?

Any help will be gratefully received!

Thanks in advance

Muhammed Ismail [MSFT]

unread,
Dec 7, 2005, 1:13:52 PM12/7/05
to
Hello,

How the messages get routed to the various nodes behind the NLB would
depend on the configuration of the NLB. I would guess that if you only had
MSMQ installed on a single machine behind the NLB, that only that one
machine would be listening on port 1801 for messages.

You should be aware that sending transactional MSMQ messages across an NLB
is not supported, additionally, if you're using non-transactional messages
and will be sending messages across the NLB, either use DIRECT=TCP syntax
or insert the IgnoreOSNameValidation key. See the following article for
more information:
899611 How Message Queuing can function over Network Load Balancing (NLB)
http://support.microsoft.com/?id=899611

--
Sincerely,

Muhammed Ismail
mis...@online.microsoft.com

Please do not send email directly to this alias. This alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
>Thread-Topic: MSMQ in Network Load Balancing server farm
>thread-index: AcX7BKVGqEEqu+zuQA+wlWEQUv5taQ==
>X-WBNR-Posting-Host: 194.130.63.16
>From: =?Utf-8?B?Rmx1ZmZtZWlzdGVy?= <Fluffm...@discussions.microsoft.com>
>Subject: MSMQ in Network Load Balancing server farm
>Date: Wed, 7 Dec 2005 00:03:02 -0800
>Lines: 21
>Message-ID: <147D0156-8684-4DDD...@microsoft.com>
>MIME-Version: 1.0
>Content-Type: text/plain;
> charset="Utf-8"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Content-Class: urn:content-classes:message
>Importance: normal
>Priority: normal
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
>Newsgroups: microsoft.public.msmq.deployment
>NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA03.phx.gbl
>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.msmq.deployment:4771
>X-Tomcat-NG: microsoft.public.msmq.deployment

Fluffmeister

unread,
Dec 8, 2005, 4:37:02 AM12/8/05
to
Thanks Muhammed,

In that case I can't really use MSMQ in the way I'd have liked - however I
think I can benefit from the 'Recoverable' nature of messages.

I'll have to re-think!

Muhammed Ismail [MSFT]

unread,
Dec 9, 2005, 11:55:36 AM12/9/05
to
Let us know if you come up with a new design, and we'll be more than happy
to take a look. Recoverable messages shouldn't be a problem across the
NLB, but transactional messages will be.

--
Sincerely,

Muhammed Ismail
mis...@online.microsoft.com

Please do not send email directly to this alias. This alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
>Thread-Topic: MSMQ in Network Load Balancing server farm

>thread-index: AcX72vFlEb2+P2njSqeZk/5xFBTMTQ==


>X-WBNR-Posting-Host: 194.130.63.16
>From: =?Utf-8?B?Rmx1ZmZtZWlzdGVy?= <Fluffm...@discussions.microsoft.com>

>References: <147D0156-8684-4DDD...@microsoft.com>
<puzMCo1#FHA...@TK2MSFTNGXA02.phx.gbl>
>Subject: RE: MSMQ in Network Load Balancing server farm
>Date: Thu, 8 Dec 2005 01:37:02 -0800
>Lines: 86
>Message-ID: <282D2629-E3F2-4DCA...@microsoft.com>


>MIME-Version: 1.0
>Content-Type: text/plain;
> charset="Utf-8"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Content-Class: urn:content-classes:message
>Importance: normal
>Priority: normal
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
>Newsgroups: microsoft.public.msmq.deployment
>NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250

>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.msmq.deployment:4773
>X-Tomcat-NG: microsoft.public.msmq.deployment

Andy

unread,
Jan 19, 2009, 1:10:01 AM1/19/09
to
Hi,
I need urgent help with MSMQ ....

Is it possible to send non-transactional message to transactional queue?
Can I use Network load balancing for transactional queue?


Please advise me regarding to the above questions...
thanks in advanced.

John Breakwell (MSFT)

unread,
Jan 19, 2009, 8:39:35 AM1/19/09
to
Hi Andy

Q1 - Is it possible to send non-transactional message to transactional
queue?
A1 - No. MSMQ will reject the message.

Q2 - Can I use Network load balancing for transactional queue?
A2 - Not normally. See the MSMQ/NLB KB article 899611
(http://support.microsoft.com/kb/899611)

Cheers
John Breakwell (MSFT)


> "Andy" <An...@discussions.microsoft.com> wrote in message
> news:FCD37312-D1E4-446B...@microsoft.com...

Frank Boyne

unread,
Jan 20, 2009, 6:59:47 PM1/20/09
to
"John Breakwell (MSFT)" <Green...@msn.com> wrote in message
news:u2Tsytje...@TK2MSFTNGP06.phx.gbl...

> Q1 - Is it possible to send non-transactional message to transactional
> queue?
> A1 - No. MSMQ will reject the message.

You can come fairly close though. Call MQSendMessage or
MSMQMessage.Send using the MQ_SINGLE_MESSAGE constant as the value for
the transaction pointer parameter and you get the message sent in a
"single-message" transaction. It's a transactional message, sent within
a "transaction", but it's a very light-weight transaction.

The managed code equivalent is MessageQueueTransactionType.Single and
the corresponding overloads for MessageQueue.Send


0 new messages