2

We are looking to use our F5's to load balance MSMQ messages without using a distributor (our windows boxes are not currently clustered).

Using DB subscription storage & publishing to a VIP, would 3 subscribers register with the publisher? (ie the VIP, & both subscribers?)

Using MSMQ transactional queues will 1 subscriber only process the message? As we only want to publish to the VIP would 1 server process the message & would the callback to the originating server succeed?

Thanks

Chris McKelt
  • 1,378
  • 2
  • 17
  • 38
  • Each subscriber would get a copy of the message. Why not use the distribution mechanism? – Eben Roux Dec 03 '12 at 08:22
  • Main reasons taken from here http://stackoverflow.com/questions/3515136/nservicebus-pros-and-cons-of-using-nservicebus-distributor – Chris McKelt Dec 03 '12 at 08:50
  • Also I only want 1 of the subscribers to process the message - they will be identical machines – Chris McKelt Dec 03 '12 at 08:51
  • Ah, I see. So F5 is a product of some kind :) --- does it read a msmq queue and then balance it itself? If that is the case then you probably do not want to `publish` but rather `send` to the endpoint queue. Callbacks will need to be tested but I cannot see why it wouldn't work since the processing endpoint communicates with the receiver directly. – Eben Roux Dec 03 '12 at 09:17

1 Answers1

2

MSMQ doesn't work with transactional messages behind a load balancer:

http://blogs.msdn.com/b/johnbreakwell/archive/2009/03/19/load-balancing-msmq-a-brief-discussion.aspx

Kijana Woodard
  • 510
  • 7
  • 17
  • Marked as correct but the article states 'Transactional messaging doesn't work because acknowledgements cannot be returned to the sending machine as it's IP address has been masked by that of the NLB device' In the case of the F5 load balancer the original machines IP address can be forwarded in the routing rules, thus the acknowledgement can be returned to the original machine – Chris McKelt Dec 05 '12 at 05:34