负载均衡是大型架构的必备技能,下面我重点来详解负载均衡架构@mikechen
负载均衡
负载均衡(Load Balancing):是分布式架构的核心技术。
负载均衡是一种将网络请求或数据流量,高效、均匀地分配到多个服务器(后端服务)上的技术。
通过将请求分散到多台服务器,可以避免单台服务器因处理过多请求而过载,从而提高整体的响应速度和吞吐量。
当某台服务器出现故障时,负载均衡器会自动将其从服务池中移除,并将流量导向健康的服务器,确保服务不中断。
负载均衡架构模式
根据负载均衡器部署的层次和数量,可以分为三种主要的架构模式:单层、双层和多层负载均衡。
如下图所示:
选择哪种架构取决于流量规模、可用性要求、安全合规、网络拓扑、成本预算和运维能力。
单层负载均衡
单层负载均衡是最简单的部署模型:所有进入的请求都经由一组负载均衡节点。
通常是一个逻辑层,直接分发到后端服务器或服务实例。
这个“层”可以是硬件(如F5)、软件(如Nginx、HAProxy)、或云提供的负载均衡服务。
这些负载均衡器会根据设定的算法(如轮询、最少连接、哈希。。。等),将请求转发给后端服务器。
优点:
部署和运维简单:拓扑清晰,易于理解和管理。
成本较低:只需一组负载均衡资源。
缺点:
如果该层规模或冗余设计不足,可能成为单点瓶颈(需要HA部署、与健康检查)。
适用场景:
适合中小规模业务或内部系统。
双层负载均衡
双层架构在单层的基础上增加了额外的负载均衡器层,通常用于分离不同类型的流量。
第一层(全局负载均衡)
这层通常处理外部流量,并将其分发到不同的数据中心或区域。
它主要用于实现地理位置上的负载均衡,通常是基于域名解析(DNS)或 HTTP 重定向。
第二层(本地负载均衡)
每个数据中心内部都有自己的负载均衡器,负责将流量分发到该数据中心内部的后端服务器。
优点:
横向扩展性强,可轻松支撑大规模业务。
同时兼顾高性能(L4)和灵活性(L7)。
缺点:
架构复杂度增加,多层配置和运维复杂,需做好链路可观测性与调试工具。
适用场景:
中大型互联网应用、SaaS平台、对外API服务。
需要同时满足高并发、和复杂路由策略的系统。
多层负载均衡
多层负载均衡:是指在系统中存在三层或更多层次的流量分发与路由组件,通常出现在大型分布式系统。
第一层(全局):基于 DNS 或 GSLB,把用户请求引导到最近/最优的机房。
第二层(区域):机房内部再用 L4/L7 做流量分流。
第三层(服务内部):微服务或容器内部,再由 Service Mesh / K8S Service 做内部流量治理。
优点:
具备 超大规模流量承载能力。
提供跨地域容灾能力(如主备机房切换)。
支持多级流量控制与治理(限流、灰度发布、A/B 测试)。
缺点:
架构复杂度最高,建设和运维成本大。
对监控、容灾、网络稳定性要求极高。
应用场景:
跨国公司全球化业务,国内超大规模互联网平台(如电商双 11、短视频平台)。