阿里云负载均衡SLB深度解析:ALB、NLB、CLB怎么选?
一、流量洪峰之下,你的架构扛得住吗?
双十一每秒几十万笔订单。一场直播千万人同时涌入。物联网平台百万级设备同时在线报数。
单台服务器能撑多久?
答案很残酷——撑不过三秒。
CPU飙到100%,内存爆了,带宽打满,页面白屏,用户骂娘,老板拍桌子。
这时候你需要的不是加机器这么简单。你需要一个能把流量均匀分摊到多台服务器上的"总管"。
这就是负载均衡。
阿里云负载均衡SLB(Server Load Balancer),全托管、按量付费、即开即用。不需要你买硬件设备,不需要你搭Nginx集群,更不需要你半夜起来手工切流量。
但问题来了——阿里云SLB不是一款产品,是三款。
ALB、NLB、CLB。
名字长得像,功能大不同。选错了,要么多花冤枉钱,要么业务高峰期直接崩。
今天这篇,把三者的区别彻底讲透。
二、ALB:七层应用层的智能路由大师
ALB,全称Application Load Balancer,应用型负载均衡。
它工作在OSI七层模型的第七层——应用层。
什么意思?
就是说,ALB不光能看IP和端口,它还能看懂HTTP报文里的东西——域名、URL路径、Cookie、HTTP头、查询字符串。它能根据这些信息做精细化路由。
举个例子:
`api.example.com/v1/order` 转到订单服务器组。
`api.example.com/v1/payment` 转到支付服务器组。
`static.example.com/*` 直接转到CDN。
一套ALB实例,搞定全站路由。不用每加一个微服务就改一次Nginx配置。
性能方面,ALB单实例最大支持100万QPS(每秒查询数)。基于NFV虚拟化平台,支持自动弹性伸缩,流量涨了自动扩容,不用人工干预。底层基于Tengine(Nginx增强版)实现七层负载均衡。
高级功能更是碾压级的:
• HTTPS卸载——证书挂在ALB上,后端服务器不用处理加密解密
• 基于内容的路由——域名、路径、Header、Cookie随便配
• 重定向、重写、插入/删除Header
• QPS限速——单监听最高10万QPS
• 慢启动——新加的后端服务器流量缓慢增加,防止瞬间压垮
ALB还是阿里云官方云原生Ingress网关,和Kubernetes、ACK深度集成。
Web应用、API服务、微服务架构、需要域名路径转发——选ALB,没毛病。
三、NLB:四层网络层的性能怪兽
NLB,全称Network Load Balancer,网络型负载均衡。
它工作在第四层——传输层。
NLB不看HTTP报文内容,只看TCP/UDP的IP和端口。简单粗暴,但极致高效。
性能有多猛?单实例支持1亿并发连接。转发延迟微秒级。
1亿并发是什么概念?
相当于一座千万级人口的城市,每个人同时打开10个App连接,NLB一个实例全扛住。
ALB和NLB,一个玩的是"聪明",一个玩的是"快"。
NLB的核心能力:
• TCPSSL卸载——四层SSL加密卸载
• 新建连接限速——防止瞬间海量新建连接打崩后端
• 全端口监听——一个监听覆盖所有端口
• MQTTS加密卸载——物联网场景专用
同样基于NFV虚拟化平台,自动弹性伸缩。
调度算法方面,NLB支持轮询、加权轮询、加权最小连接数、源IP一致性哈希等多种算法。
哪些场景非NLB不可?
实时音视频、大型游戏服务端、物联网平台、高性能数据库代理、消息中间件。这些场景的共同特点——对延迟极度敏感、并发连接数巨大、不需要七层路由。
NLB在TCP长连接场景下,性能比ALB高出3到5倍。选型时务必记住这句话。
四、CLB:传统架构的守门员
CLB,全称Classic Load Balancer,传统型负载均衡。
它是阿里云负载均衡的"老前辈"。在ALB和NLB问世之前,CLB撑起了无数企业的云上架构。
CLB同时支持四层(TCP/UDP)和七层(HTTP/HTTPS)负载均衡。四层基于LVS+Keepalived实现,七层基于Tengine实现。
但性能上差距明显——单实例最大100万并发、5万QPS。基于物理机架构,不支持自动弹性伸缩,需要手动管理规格。
功能上也相对基础:不支持域名/URL路径转发,不支持重定向、重写等高级七层特性。
那CLB还有用吗?
有。而且不少。
CLB支持包年包月和按量付费两种计费模式,ALB和NLB只支持按量付费。对于成本敏感、流量稳定、不需要高级路由的场景,CLB依然是最经济的选择。
传统业务上云、简单的TCP/UDP端口转发、轻量级HTTP代理、预算有限的初创项目——CLB足以胜任。
但如果你在搭建新系统,听我一句劝——优先考虑ALB或NLB。CLB正在逐步被ALB替代,这是大势所趋。
五、ALB vs NLB vs CLB:一张表看懂怎么选
三款产品摆在一起,到底怎么选?
先把核心差异列清楚:
产品定位
ALB:七层应用交付,HTTP/HTTPS/QUIC/gRPC深度处理
NLB:四层网络交付,TCP/UDP/TCPSSL极致性能
CLB:四七层基础能力,TCP/UDP/HTTP/HTTPS全覆盖
性能天花板
ALB:单实例100万QPS
NLB:单实例1亿并发连接
CLB:单实例100万并发、5万QPS
架构底座
ALB:NFV虚拟化,自动弹性
NLB:NFV虚拟化,自动弹性
CLB:物理机架构,手动管理规格
计费模式
ALB:仅按量付费(实例费+LCU费+公网费)
NLB:仅按量付费(LCU费+公网费,实例费限时免费)
CLB:包年包月或按量付费
高级路由
ALB:域名/路径/Header/Cookie转发、重定向、重写、限速
NLB:不支持七层路由
CLB:仅支持基础域名/URL转发
选型决策一句话
• Web网站、API服务、微服务 → ALB
• 游戏、直播、物联网、高性能四层 → NLB
• 传统业务、成本敏感、简单代理 → CLB
选型时再问自己三个问题:
1. 业务需要基于域名或URL路径做精细化路由吗?需要→ALB
2. 业务并发连接数是否达到千万级以上?是→NLB
3. 只是简单的TCP端口转发或轻量级HTTP代理?是→CLB
答案出来了。
六、生产级实战:高可用架构的四个关键配置
选对产品只是第一步。真正上生产,还有四个配置必须做好。
第一,跨可用区部署。
别把鸡蛋放在一个篮子里。同一个地域,至少选两个可用区部署ECS。SLB实例同样开启跨可用区部署。一个可用区机房断电,另一个可用区自动接管。故障检测小于10秒,切换完成小于30秒。这是99.995%可用性的基础。
第二,健康检查精细化配置。
默认的健康检查配置不一定适合你的业务。建议自定义健康检查路径,比如`/health`接口,在这个接口里不光检查网络连通性,还要检查数据库连接、缓存状态、依赖服务是否正常。后端服务网络通了但业务挂了——健康检查要能发现这个问题。
健康检查默认每5秒检测一次。频率太高会增加后端压力,太低则故障发现不及时。根据业务容忍度调整。
第三,会话保持按需开启。
会话保持能把同一个用户的请求始终转发到同一台后端服务器。购物车场景必须开——用户加购的商品存在某一台服务器的Session里,下次请求跑到另一台服务器,购物车就空了。
但无状态API服务不建议开会话保持。开了反而破坏负载均衡的均匀性,导致某些服务器负载过高。
ALB基于Cookie实现七层会话保持,有效期1到1440分钟可配。NLB基于源IP实现四层会话保持。
第四,监控报警必须配。
没有监控的负载均衡等于裸奔。至少配置以下报警:
• QPS超限报警——接近实例规格上限时提前预警
• 并发连接数超限报警
• 健康检查失败报警——后端服务器出问题立刻知道
• 4xx/5xx错误率报警——业务层面异常及时发现
ALB和NLB都支持通过云监控控制台、API、SDK配置报警规则。
七、写在最后:没有最好的负载均衡,只有最合适的
回到最初的问题——ALB、NLB、CLB到底怎么选?
答案从来不是固定的。
初创项目、预算有限、流量不大——CLB够用,省钱省心。
Web应用、API网关、微服务架构——ALB是标配,七层路由能力无可替代。
游戏、直播、物联网、海量TCP连接——NLB是唯一选择,性能差距摆在那里。
大型系统甚至可以ALB+NLB混合部署——七层入口用ALB做域名路由,四层核心业务用NLB扛超高并发。
阿里云负载均衡SLB产品家族的三款产品,定位清晰、各司其职。选型的关键不是比较谁更强,而是理解自己的业务到底需要什么。
做技术选型,最怕的不是选错,而是压根不知道自己为什么选。
希望读完这篇,你不再纠结。
上饶市万云信息科技有限公司是国内领先的综合型多云服务合作商,深耕行业超10年,业务覆盖阿里云、腾讯云、华为云、天翼云、火山云、微软云、谷歌云、亚马逊云八大主流公有云平台。公司现有全职员工500人,八大云平台全年综合销量突破20亿人民币,累计服务超100万合作客户,累计助力企业部署云服务器近1亿台。作为阿里云旗舰级别代理商,上饶市万云信息科技提供阿里云全系产品7折优惠或30%返点政策,同时配备专业技术团队提供架构咨询、部署实施、运维保障等全链路服务,帮助企业以更低成本、更高效率完成云上架构升级。
常见问题解答
问:ALB和NLB的主要区别是什么?
答:ALB工作在七层(应用层),能看懂HTTP报文内容,支持域名、URL路径、Cookie等精细化路由,单实例100万QPS。NLB工作在四层(传输层),只看IP和端口,极致性能,单实例1亿并发连接。简单说——ALB玩"聪明",NLB玩"快"。
问:我的业务是Web网站,应该选ALB还是CLB?
答:优先选ALB。ALB支持域名转发、URL路径转发、HTTPS卸载等高级功能,是当前阿里云主推的七层负载均衡产品。CLB不支持这些高级路由特性,正在逐步被ALB替代。
问:NLB的1亿并发连接是什么概念?
答:1亿并发连接意味着NLB单实例可以同时维持1亿个TCP连接。这相当于一座千万级人口城市里每个人同时打开10个App连接,NLB一个实例全部扛住。适合大型游戏、实时音视频、物联网平台等超大规模四层业务。
问:健康检查配置有什么注意事项?
答:建议自定义健康检查路径(如/health),在该接口中不仅检查网络连通性,还要检查数据库、缓存、依赖服务等业务组件的状态。健康检查默认每5秒执行一次,频率和超时时间需根据业务容忍度调整。配置不当可能导致健康检查误报或漏报。
问:CLB还值得用吗?
答:CLB的优势在于支持包年包月计费,成本可控。对于流量稳定、不需要高级路由、预算有限的传统业务或简单代理场景,CLB依然是不错的选择。但新建系统建议优先考虑ALB或NLB。
问:ALB和NLB可以混合使用吗?
答:可以。大型系统通常采用分层架构——七层入口用ALB做域名和路径路由,将不同业务(如API、Web、静态资源)分发到不同的后端集群;四层核心业务(如游戏连接、音视频推流)用NLB扛超高并发。两者互补,各司其职。

