Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Andrew B 17 posts 115 karma points
    1 week ago
    Andrew B
    0

    Distributed calls failing to propagate in load balanced environment

    I am encountering an issue with a load-balanced Umbraco v7.6.5 site using distributed calls. When an item is published or unpublished, this change is not propagated to the other web server - it is only visible on the server where the event took place. The environment is configured as two web servers running behind a load balancer, each with an Umbraco installation connecting to the same database.

    The content of the distributedCall/servers section in the umbracoSettings.config file for both servers is set as follows:

    <server forceProtocol="https" serverName="web1">client-mainsite1.domain-live.com</server>
    <server forceProtocol="https" serverName="web2">client-mainsite2.domain-live.com</server>
    

    Having enabled Debug-level logging in log4net.config, I have noticed that when publishing or unpublishing from one of the servers in the load-balanced environment, that it only makes a cache refresh call to that same server - i.e. publishing on web1 will make a call to instigate a cache refresh on web1 but not web2, and vice-versa. This log sample is taken from web2:

    2018-08-10 11:21:13,405 [P6692/D6/T44] INFO  Umbraco.Core.Sync.WebServiceServerMessenger - Submitting calls to distributed servers
    2018-08-10 11:21:13,407 [P6692/D6/T72] DEBUG Umbraco.Web.UmbracoModule - Begin request: https://client-mainsite2.domain-live.com/umbraco/webservices/cacheRefresher.asmx.
    2018-08-10 11:21:13,415 [P6692/D6/T72] DEBUG umbraco.presentation.webservices.CacheRefresher - Ignoring self-message. (server: EC2AMAZ-TSP0Q27, appId: /LM/W3SVC/3/ROOT, hash: fffffff62e614a8c)
    2018-08-10 11:21:13,417 [P6692/D6/T44] DEBUG Umbraco.Core.Sync.WebServiceServerMessenger - Distributed server push completed with no nodes reporting an error
    

    And this one is taken from web1:

    2018-08-10 10:49:30,444 [P1060/D8/T3] INFO  Umbraco.Core.Sync.WebServiceServerMessenger - Submitting calls to distributed servers
    2018-08-10 10:49:30,453 [P1060/D8/T31] DEBUG Umbraco.Web.UmbracoModule - Begin request: https://client-mainsite1.domain-live.com/umbraco/webservices/cacheRefresher.asmx.
    2018-08-10 10:49:30,544 [P1060/D8/T31] DEBUG umbraco.presentation.webservices.CacheRefresher - Ignoring self-message. (server: EC2AMAZ-TSP0Q27, appId: /LM/W3SVC/3/ROOT, hash: fffffff62e614a8c)
    2018-08-10 10:49:30,563 [P1060/D8/T3] DEBUG Umbraco.Core.Sync.WebServiceServerMessenger - Distributed server push completed with no nodes reporting an error
    

    Is anybody able to offer any insights as to why this would be occuring, and any potential resolutions?

    Thanks,

    Andrew

  • Harrison Fleetwood 5 posts 96 karma points
    1 week ago
    Harrison Fleetwood
    100

    You should only be handling publish events on one of the servers i.e. all publishing/editing should be handled on web1 and then distribute it to web2.

    A common setup is

    admin.site.com web1.site.com

    These two both point to the same web server, and admin.site.com is used to access Umbraco.

    web2.site.com is then used for the second server with no content publishing/editing happening on there.

    Looking at your config too, it also looks like you're on the traditional load balancing setup. Since 7.3 Umbraco, the recommended load balanced setup is the flexible setup: https://our.umbraco.com/documentation/getting-started/setup/server-setup/load-balancing/flexible

  • Andrew B 17 posts 115 karma points
    5 days ago
    Andrew B
    0

    Hi Harrison,

    Thanks for your response. It turns out that the fix for me was to disable Distributed Calls - after I did this, the content was propagated correctly.

    Thanks,

    Andrew

Please Sign in or register to post replies

Write your reply to:

Draft