More in this section
Forums / General Discussions / MSMQ and Load Balancing

MSMQ and Load Balancing

The forums are in read-only mode. In case that you want to directly contact the Progress Sitefinity team use the support center. In our Google Plus group you can find more than one thousand Sitefinity developers discussing different topics. For the Stack Overflow threads don’t forget to use the “Sitefinity” tag.
5 posts, 0 answered
  1. Ace Аdmin
    Ace Аdmin avatar
    3 posts
    16 Nov 2011
    23 Feb 2012
    Link to this post
    I'm having cache update issues in our load balanced environment. I have a two node balance scenario. Only one server's back end is being updated. Node 1 (the configuration node) receives the update, node 2 does not. I believe the issue is related to MSMQ not being configured. I've searched the support forums and found two posts relating to this issue; 

    Both of which say I need to install MSMQ, but neither of which explain what to install specifically. Do I need http support (I assume so). Does the router need to be installed?
    Do I need to install it on one server specifically, or all servers?
    The MSMQ configuration is also not mentioned in any install document I've run across.
    Does anyone have any detailed instructions on this?

    Thanks for any help.
  2. Boyan Barnev
    Boyan Barnev avatar
    1429 posts
    02 Jan 2018
    24 Feb 2012
    Link to this post

    Hi Kerry,

    We have just replied to the support thread you had open on the issue, you can check our response there, and for your convenience I'm pasting it below as well:

    Support for MSMQ in load balanced environment is a new feature and we are still making test. Excuse us for the inconvenience as we still need to develop detailed user documentation on setting it up.

    In case when MSMQ appears the only option, in order to configure it forst activate MSMQ on the server (it is not activated by default). The MSMQ is only one and enter the endpoint address in Administration->Settings->Advanced->System->Load Balancing->MSMQ settings and the load balancing will work.
    The endpoint may need to enter urls to the other servers to activate load balancing (MSMQ needs to know which are the servers used and what is their address). When one server is found the load balancing is started.

     Here are the steps to active MSMQ:

    1. Refer to MQSMQ_Enable.png. Enable MSMQ as windows feature
    2. Refer to MSMQ_CreateQ.png. Right click MyComputer and select manage under Services and Applications MSMQ will appear. Create new Public or Private Queue.
    3. Edit the properties of the Queue as in screenshot MSMQ_Properties.

    To register the endpoint in Sitefinity Administration->Settings->Advanced->System->Load Balancing->MSMQ and the format is msmq.formatname:DIRECT=TCP:machineName\private$\queueName
    Replace machineName and queueName with yours.

    Boyan Barnev
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  3. Shekhar
    Shekhar avatar
    1 posts
    02 Oct 2013
    02 Oct 2013 in reply to Ace Аdmin
    Link to this post

    Was your issue resoved after configuring MSMQ ?

    We are facing the same issue and we were about to try configuring the MSMQ so wanted to make sure if it has actually worked. Please let me know.

  4. Gary
    Gary avatar
    7 posts
    27 Mar 2014
    29 Apr 2014
    Link to this post

    Is there any updated documentation on this feature?  What advantages does it have?  How to configure it?  Could we point it to an arbitrary MSMQ and handle messages in custom applications?

  5. Sabrie Nedzhip
    Sabrie Nedzhip avatar
    534 posts
    17 Aug 2017
    01 May 2014
    Link to this post
    Hi Gary,

    Please note that currently we do not officially support the MSSQ based cache invalidation since this is an experimental implementation. By default Sitefinity uses webservice calls in order to invalidate the cache on the other servers. So, the server where the changes are made notifies the other servers using an http based service calls.

    You may refer to the following documentation article on how you can run Sitefinity in load balanced environment.

    Sabrie Nedzhip
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Sitefinity CMS Ideas&Feedback Portal and vote to affect the priority of the items
5 posts, 0 answered