Quantcast
Channel: High Availability (Clustering) forum
Viewing all articles
Browse latest Browse all 5654

Issues with MSMQ over HTTP in Windows Cluster - Not Working

$
0
0

Background:

We have set up a cluster 'net_cluster' and configured message queuing service 'net_clusterMsmq' in it. Please refer the [screen-shot] below for the cluster configuration. We have two physical servers in cluster. Screen shot shows two IP addresses which are virtual each of which points to the physical server. We have created non-transactional private queues on physical servers.



Please see this image https://social.technet.microsoft.com/Forums/getfile/668427

net_clusterMsmq has two Virtual IPs,  VIP1 and VIP2 which point to .NET1 and .NET2 respectively. Currently .NET1 is up and running. 

VIP1 ----> PIP1 (.NET1) (PIP = Physical IP)

VIP2 ----> PIP2 (.NET2)



Please see this image https://social.technet.microsoft.com/Forums/getfile/668451

H$ - This is storage drive attached to either .NET servers whichever is active. It contains msmq\storage and msmq\mapping.



Issue

NOTE: Everything works and has been working well since long time if I use OS:\net_clusterMsmq. Problem starts when I use HTTP.

We are having issues with MSMQ over HTTP in Windows Cluster environment. When app sends message to the queue using HTTP:

  1. Outgoing queues on IIS (Web App) server shows referred queue with "Waiting to Connect" State and "Connection is ready to transfer messages" message in Connection History column. And queue messages stay stuck forever.
  2. IIS logs on .NET1 server show:
    [VIP1 here] POST /msmq/private$/queuename - 80 - [IIS - Web app server IP here] - 200 0 0 46
    This clearly tells that post request from Web App IIS server was received by .NET1 server. Status = 200. However in S-IP field appears Virtual IP (VIP1) that points to .NET1 server. This is due to the fact that we send requests via cluster node.


Below is what I have checked/tried so far with no luck:

  1. Checked if port 1801 is listening - Yes
  2. Modified sample_map.xml file in H$ (storage drive attached to active .NET server) as well as C:\Windows\System32\msmq\mapping and restarted MSMQ service but didn't work.
    This was done because I found a blog stating message request reaches msmq server but local queue manager does not recognize the Virtual IP (VIP1) and looks for the Physical IP (PIP1) in received message. Since it does not find it, discards the message.
  3. Added ANONYMOUS LOGON with full rights to destination queue on .NET1 server.


NOTE: MSMQ over HTTP works fine in Non-Cluster environment. So this is definitely cluster specific issue.






Viewing all articles
Browse latest Browse all 5654

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>