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
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
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!
--
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
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.
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...
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