Classic Load Balancer (CLB) can be used to improve the availability and reliability of applications that receive large amounts of inbound traffic.
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. 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 is tolerant to zone-level failures at the expense of latency. However, you can deploy core services across zones to make up for this.
However, if you deploy all of your ECS instances in the primary zone (Zone A) and none in the secondary zone (Zone B) as shown in the following figure, the availability of your services may be affected. For example, if the primary zone fails, your services will be interrupted because no ECS instances are available in the secondary zone. 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 for global load balancing. When a region becomes unavailable, you can temporarily stop DNS resolution in the region without affecting traffic to your applications.