Table of Contents

Load balancing

Load balancing is the process of distributing incoming traffic across multiple servers. If properly configured, load balancing improves responsiveness and reliability, and allows for hundreds of thousands concurrent requests from users and clients.

DynamicWeb 10 contains a built-in tool for configuring clusters and cluster nodes which can be found under Settings > System > Web & http > Load balancing. This tool ensures that things which happen on a node - creation or editing of content, indexes being built, orders being placed - are synchronized between all nodes so that they're in the same state when receiving traffic from your external load balancer.

LoadBalancing

To use load balancing you must:

  • You must have your own load balancer, e.g. Microsoft ARR or NGINX Plus
  • All nodes must run on the same database OR you must handle replication
  • All nodes must use the same files folder OR you must handle replication
  • All solutions must run the same version of DynamicWeb

In general, we recommend using the same database but, for files, to replicate things which might change based on user input such as template files, images, import jobs, item types, etc.

Tip

The DynamicWeb 10 load balancing tool is an improvement over the DW9 version for several reasons, for example:

  • It starts with the application - and reacts to configuration, no restarts required
  • It does nothing until there's an active node configured, at which point it is immediately active and functioning

Creating new nodes

To create a new node first click Manage on the Nodes-widget, then New load balancing node, then use the action menu to fetch information from the current node: LoadBalancing2 Then add the IP address, check the Active box, and click Save.

Configure cluster

You can configure a few overall rules for how the system should react when a node stops responding - to do so, use the action menu to select Configure cluster. LoadBalancing Here you can:

  • Setup notification emails
  • Specify the retry count value, i.e. how many times the balancer should retry this node if it does not respond
  • Specify the timeout after failure value - how many seconds should pass before a node is retried
To top