December 19, 2017

Load balancing DXA and CD servers in Web 8

With new micro-services architecture its very efficient to distribution of workloads of different servers. Dxa servers aka Presentation servers can be load balanced separately.



Features of above architecture:
  • Works best in fail-over scenarios. if any service is down other available can take the load
  • Presentation machines can be added or removed on the go without worrying about setting up the CD servers.
  • Its cost efficient scenario.

I tested above above on Microsoft Azure, presentation servers were load balanced on Application gateway.
and CD servers were load balanced using Azure Load balanced.

How does it work?

Settings:
  • DXA web.config is configured with IP address of Load-balancer for Discovery service.  
  • Required capabilities listed in Discovery service has URLs of Load balancer. 
  • Discovery DB is shared among all the discovery servers.
  • Load Balancer is aware of available nodes of services.
when request comes to Application gateway, AG get it processed from one of the available DXA server. if Dxa app is already loaded and request pages is already processed and cached it can be processed completly on DXA machine itself.

otherwise Discovery Service URL is hit which goes to internal load balancer. Load balancer get this executed from one of CD server. AS discovery had configured address of Load-balancer for Content Service, request once again go to LB. it then redirects it to available Content service node. so a request is completed.

With use of Akamai and other caching strategies e.g page caching or donut caching and other tridion caching techniques CD servers might get reduced load after first hit and boot time. DXA servers are easy to Auto-scale.

No comments: