负载均衡 (SLB) 技术详解
什么是负载均衡 (SLB)?
SLB (Server Load Balancer) 是一种通过将网络流量分发到多个后端服务器,从而提高系统可用性、可靠性和性能的技术,它充当了客户端与服务器集群之间的“交通指挥官”,确保请求能够被高效、合理地分配,避免单台服务器因压力过大而崩溃。
核心功能
- 流量分发:将客户端的访问请求均匀或按特定策略分配到后端的服务器资源池中。
- 健康检查:实时监控后端服务器的状态,一旦发现某台服务器出现故障,自动将其从转发列表中剔除,确保流量只流向健康的服务器。
- 高可用性 (High Availability)
:通过消除单点故障,确保即使部分服务器宕机,整体业务仍能正常运行。
- 可扩展性 (Scalability):支持动态增加或减少后端服务器数量,以应对业务波峰或波谷。
常见的负载均衡算法
为了决定将请求交给哪台服务器,SLB 通常采用以下几种算法:
- 轮询 (Round Robin):按照顺序将请求依次分配给每一台服务器,适用于服务器配置完全相同的场景。
- 加权轮询 (Weighted Round Robin):根据服务器的处理能力分配权重,性能更强的服务器会承担更多的请求。
- 最小连接数 (Least Connections):将请求分配给当前活跃连接数最少的服务器,适用于请求处理时间差异较大的场景。
- IP Hash:根据客户端的 IP 地址计算哈希值,确保来自同一 IP 的请求始终落在同一台服务器上,常用于实现会话保持 (Session Persistence)。
四层负载均衡 vs 七层负载均衡
根据 OSI 模型,负载均衡主要分为两个层级,它们在工作原理和应用场景上有所不同:
四层负载均衡 (L4 Load Balancing)
- 工作层级:传输层 (TCP/UDP)。
- 工作原理:仅根据 IP 地址和端口号进行转发,不解析应用层的数据内容。
- 优点:转发效率极高,处理速度快,对系统资源的消耗较低。
- 缺点:无法根据 URL、Cookie 或 HTTP 头部进行复杂的流量调度。
七层负载均衡 (L7 Load Balancing)
- 工作层级:应用层 (HTTP/HTTPS/FTP 等)。
- 工作原理:能够“看懂”应用层协议的具体内容,可以根据 URL 路径、域名、Cookie 或 HTTP Header 进行智能分发。
- 优点:调度非常灵活,支持复杂的业务逻辑(将图片请求转发到静态资源服务器,将 API 请求转发到应用服务器)。
- 缺点:由于需要深度解析数据包,性能开销比四层负载均衡更大。
在构建大规模分布式系统时,负载均衡是不可或缺的核心组件,通过合理的算法选择和层级配置,企业可以有效应对突发流量,保障业务的持续稳定运行并提升用户体验。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/494317.html



