Updated on 2024-01-05 GMT+08:00

Overview

Backend servers receive and process requests from the associated load balancer.

If the incoming traffic increases, you can add more backend servers to ensure the stability and reliability of applications and eliminate SPOFs. If the incoming traffic decreases, you can remove some backend servers to reduce the cost.

If the load balancer is associated with an AS group, instances are automatically added to or removed from the load balancer.

Different types of backend servers can be added to different types of backend server groups as described in Table 1.

Table 1 Backend server group and backend server types

Backend Server Group Type

Backend Server Types

Reference

Hybrid

  • Cloud servers or supplementary network interfaces that are in the same VPC as the load balancer, if IP as a Backend is disabled
  • IP addresses of servers in other VPCs or in your on-premises data center, if IP as a Backend is enabled
NOTE:

When you create a hybrid backend server group, you must specify a VPC and associate the backend server group with a load balancer in this VPC.

IP as a backend server

IP addresses of cloud or on-premises servers

NOTE:

IP as a Backend must have been enabled for the load balancer.

Precautions

  • It is recommended that you select backend servers running the same OS for easier management and maintenance.
  • The load balancer checks the health of each server added to the associated backend server group if you have configured health check for the backend server group. If the backend server responds normally, the load balancer will consider it healthy. If the backend server does not respond normally, the load balancer will periodically check its health until the backend server is considered healthy.
  • If a backend server is stopped or restarted, connections established with the server will be disconnected, and data being transmitted over these connections will be lost. To avoid this from happening, configure the retry function on the clients to prevent data loss.
  • If you enable sticky sessions, traffic to backend servers may be unbalanced. If this happens, disable sticky sessions and check the requests received by each backend server.

Constraints and Limitations

  • A maximum of 500 backend servers can be added to a backend server group.
  • Inbound security group rules must be configured to allow traffic over the port of each backend server and health check port. For details, see Security Group Rules.
  • If you select only network load balancing, a server cannot serve as both a backend server and a client.

Backend Server Weights

You need to set a weight for each backend server in a backend server group to receive requests. The higher the weight you have configured for a backend server, the more requests the backend server receives.

You can set an integer from 0 to 100. If you set the weight of a backend server to 0, new requests will not be routed to this server.

Three load balancing algorithms allow you to set weights to backend servers, as shown in the following table. For more information about load balancing algorithms, see Load Balancing Algorithms.

Table 2 Server weights in different load balancing algorithms

Load Balancing Algorithm

Weight Setting

Weighted round robin

  • If none of the backend servers have a weight of 0, the load balancer routes requests to backend servers based on their weights. Backend servers with higher weights receive proportionately more requests.
  • If two backend servers have the same weights, they receive the same number of requests.

Weighted least connections

  • If none of the backend servers have a weight of 0, the load balancer calculates the load of each backend server using the formula (Overhead = Number of current connections/Backend server weight).
  • The load balancer routes requests to the backend server with the lowest overhead.

Source IP hash

  • If none of the backend servers have a weight of 0, requests from the same client are routed to the same backend server within a period of time.
  • If the weight of a backend server is 0, no requests are routed to this backend server.