Classic Load Balancer (CLB) can be used to improve the availability and reliability of applications that receive large amounts of inbound traffic.
Distribute workloads
CLB instances route traffic to Elastic Compute Service (ECS) instances that act as backend servers based on listening rules. This allows you to avoid overloaded servers that may negatively affect user experience. The session persistence feature can be used to forward all requests from a client to the same backend ECS instance to improve access efficiency.
Scale your applications
CLB can be used as traffic ingress points for both web servers and application servers. This allows you to scale the service capability of your applications by adding or removing backend ECS instances in response to business requirements.
Eliminate single points of failure (SPOFs)
CLB instances act as the single point of contact for clients. You can add multiple ECS instances to a CLB instance. When an ECS instance malfunctions, CLB automatically isolates the ECS instance and distributes inbound requests to other healthy ECS instances. This ensures that your applications continue to run as expected.
Implement zone-disaster recovery (multi-zone disaster recovery)
To provide more stable and reliable CLB services, CLB supports cross-zone deployment in most regions. You can deploy a CLB instance across multiple zones within the same region to improve disaster tolerance and ensure the reliability of your applications. When the primary zone fails or has no healthy ECS instances, the CLB instance can automatically fail over services to the secondary zone within 30 seconds. When the primary zone recovers, the CLB instance automatically switches services back to the primary zone.
We recommend that you create a CLB instance in a region that has multiple zones for better disaster tolerance.CLB You can plan the deployment of backend servers based on your business needs. We recommend that you add at least one backend server in each zone to maximize the load balancing capabilities of CLB.
As shown in the following figure, ECS instances that reside in different zones can be added to a CLB instance. Under normal circumstances, the CLB instance evenly distributes inbound traffic to ECS instances in the primary zone (Zone A) and to those in the secondary zone (Zone B). If Zone A fails, the CLB instance distributes inbound traffic only to ECS instances in Zone B. This deployment mode avoids service interruptions that are caused by zone-level failures and reduces latency.
However, if you deploy all of your ECS instances in the primary zone (Zone A) of a CLB instance and none in the secondary zone (Zone B) as shown in the following figure, the availability of your services may be affected. Under normal cases, user traffic is forwarded only to ECS instances in the primary zone (Zone A). Compared with the previous deployment mode, latency is lower in this deployment mode. When Zone A fails, services are interrupted because no ECS instances are available in the secondary zone (Zone B) to receive requests. This deployment mode sacrifices availability to minimize latency.
Implement cross-region disaster recovery
You can deploy CLB instances in different regions and add the ECS instances of different zones within each of these regions to the CLB instance in the same region. You can use Alibaba Cloud DNS to resolve domain names to the service addresses of CLB instances in different regions. This way, global load balancing is achieved by using CLB. When a region becomes unavailable, you can temporarily stop DNS resolution in the region without affecting user access.