ALB (Application Load Balancer) 和 CLB (Classic Load Balancer) 是 Amazon Web Services (AWS) 中的两种不同类型的负载均衡器。
区别包括:
功能:ALB 在 OSI 模型的传输层(第四层)和应用层(第七层)之间进行负载均衡,可以根据请求的内容进行路由,支持更高级的负载均衡策略,如基于路径的路由和基于主机名的路由。而 CLB 则主要在传输层(第四层)进行负载均衡,只能基于 IP 地址和端口进行路由。
目标类型:ALB 可以将请求转发给多个目标组(Target Group),每个目标组可以包含多个目标实例(如 EC2 实例),并且可以根据不同的规则进行路由。CLB 只能将请求转发给多个目标实例,并不能进行更细粒度的路由控制。
监测类型:ALB 支持对目标实例进行主机级别的健康检查,并可以自动剔除不健康的实例。CLB 只支持对整个实例进行健康检查。
支持的协议:ALB 支持 HTTP、HTTPS 和 WebSocket 协议,可以直接进行传输层和应用层的协议转发。CLB 支持 HTTP、HTTPS、TCP 和 SSL 协议。
目标注册方式:ALB 可以自动注册和解注册 ECS 容器和 ECS 任务定义等目标。CLB 需要手动注册每个目标实例。
总体来说,ALB 提供了更高级的负载均衡功能和路由能力,适合于微服务架构和应用层的负载均衡需求;而 CLB 则是传统的负载均衡解决方案,适合传输层的负载均衡需求。