Overview

Load balancing is an efficient way to distribute incoming network traffic across a group of back-end servers or slots.

The Load Balancer sits in front of your servers, hiding the internal resources, and routes requests across all connections to a targeted pool of slots capable of fulfilling those requests. If the Load Balancer is set-up with a dynamic algorithm and the connections to a slot go down, the Load Balancer can automatically redirect traffic to the remaining slots in the pool. For more information about how the Load Balancer network functions, refer to Load Balancer Network Integration on Customer Network.

The DSC Load Balancer is provided on a set of slots running on the DSC SWe (on KVM, on VMware, and on OpenStack) and performs the following functions:

  • Balances the load among different slots by assigning connections based on a scheduling algorithm (round robin, weighted round robin, or static mapping).
  • Ensures high availability and reliability by sending requests only to the available slots when a scheduling algorithm other than Static Mapping is selected.
  • Provides one or more IP addresses to the external world, which hides the DSC resources and allows for transparent scaling (adding or subtracting) of resources.

The Load Balancer is an unlicensed feature that can be added to the DSC by commissioning two application VMs to make the Load Balancer. A maximum of two Load Balancers (made up of four application VMs) can be added to a system. 

Once commissioned, the Load Balancer application becomes visible on the Web UI and you can configure virtual IPs (VIPs) through the Networking menu. You can then create Load Balancer targets, add routing slots to the target, and then create connections that terminate in one of the defined slots in the target. You will also have to configure the Diameter application connections to work with the Load Balancer connections. For the complete steps to create a Load Balancer, refer to Configuring a Basic Load Balancer with Static Mapping or Configuring a Basic Load Balancer with Round Robin - Dynamic.

Note

Only the Diameter application connections and IPv4 networks are supported for this release.

The Load Balancer supports TCP, SCTP, IPSec, and TLS/DTLS connections.

After the Load Balancer is configured with an external IP address that is advertised to the ADNs, the IP address and a port number (or more), are used to connect to the Load Balancer. The Load Balancer forwards packets to a particular slot based on the configured scheduling algorithm. At the back-end, multiple slots might be configured to process messages from the same ADN. One of the slots is responsible for terminating a particular connection and the Load Balancer forwards packets of that connection to that slot.

In Diameter, it is relatively normal to have both an incoming and outgoing connection, where the Diameter handshake closes one of the connections. For example, the following two Load Balancer connections configuration conflict, so the configuration of incoming and outgoing Diameter connections is not allowed:

Remote IP R, Local IP L, Remote Port ANY (ephemeral), Local Port 3868

Remote IP R, Local IP L, Remote Port 3868 Local Port ANY

It is possible to provision both an incoming and outgoing Diameter connection if both ends use fixed ports using the following configuration:

Remote IP R, Local IP L, Remote Port 3868 Local Port 3868

Remote IP R, Local IP L, Remote Port 3869 Local Port 3869

In the Diameter application, create a Transport Server on one of the local ports (refer to Configuring Transport Servers), and use the other local port to configure the ADN Connection (refer to Configuring ADN Connections). 

Load Balancer Algorithms 

Different load balancing algorithms provide different benefits; the choice of load balancing method depends on your needs.

DSC supports the following load balancing algorithms: 

  • Static Mapping
    The user configures the mapping between connections and the slots that serve those connections.

  • Round Robin
    The Load Balancer distributes connections sequentially to slots by cycling through a list of slots capable of handling the request.

  • Weighted Round Robin
    The Load Balancer distributes connections sequentially around the slots but assigns more connections to slots with greater capacity. Capacity is indicated by the user-assigned Weight attribute.

    The Weighted Round Robin provides a clean and effective way of focusing on fairly distributing the load among available resources, rather than attempting to equally distribute the requests. 
Note

A load balancing algorithm is applied to each target.

Changing Load Balancing Algorithm 

If you change the algorithm from Static Mapping to Round Robin, the Load Balancer checks the load and raises an alarm if the load is unbalanced.

If you change the algorithm from Round Robin to Static Mapping, the following occurs:

  • All the existing connections stay mapped to their DSC slot
  • Newly created connections are no longer automatically mapped and require you to select the slot number.

If you change the weight attribute of one of the slots in a target, the Load Balancer checks the load and raises an alarm if the load is unbalanced.

Note

Weight does not apply to the Static Mapping algorithm.

Load Balance Check

The Load Balancer checks if the load (connections) is not properly balanced among the slots of the target if one of the following events occurs:

Note

This only applies to Round Robin and Weighted Round Robin.

  • a DSC slot is added to a target
  • a connection is deleted from the target
  • the weight of a DSC slot is modified
  • the communication with a slot defined in the target is lost and re-established

If the load is unbalanced the target raises a warning alarm, refer to 5005 targetLoadUnbalanced.

If the alarm was already raised and the Load Balancer finds the load is now balanced, then the alarm is cleared. 

Firewall

Globally disabling or restarting the firewall does not affect any Application VM that has been commissioned for the Load Balancer. For more information about the firewall, refer to Firewall Configuration.


  • No labels