负载均衡

直接回答

负载均衡(Load Balancing)是一种将网络流量或工作负载分散到多个服务器或计算资源上的技术,旨在优化资源使用、最大化吞吐量、最小化响应时间,并避免任何单一资源过载。其核心目标包括:提高系统可用性(通过冗余避免单点故障)、增强可扩展性(支持水平扩展)、提升用户体验(降低延迟)。负载均衡通常由硬件设备(如F5 BIG-IP)或软件方案(如Nginx、HAProxy、云服务商的ELB/ALB)实现,工作在网络模型的第4层(传输层,基于IP和端口)或第7层(应用层,基于HTTP头、Cookie等)。常见算法包括轮询(Round Robin)、最少连接(Least Connections)、IP哈希(IP Hash)等,适用于不同业务场景。在微服务、云计算和大型网站架构中,负载均衡是保障高并发和高可用的关键组件。

核心要点

  • 核心作用:高可用与扩展性
  • 常见算法:轮询与最少连接
  • 部署方式:硬件 vs 软件
  • 应用场景:从网站到微服务

相关标签

常见问题

负载均衡和反向代理有什么区别?
负载均衡和反向代理在功能上有重叠,但侧重点不同。反向代理主要作为客户端和后端服务器之间的中介,隐藏后端结构、提供缓存和SSL终止等功能;而负载均衡则专注于流量分发策略,确保后端资源均匀使用。实际中,许多反向代理(如Nginx)也内置了负载均衡功能,两者常结合使用。
四层负载均衡和七层负载均衡有何不同?
四层负载均衡工作在OSI模型的传输层(TCP/UDP),基于IP地址和端口进行流量转发,效率高但无法解析应用层内容。七层负载均衡工作在应用层(HTTP/HTTPS),可以基于URL、Cookie、Header等做出智能路由,功能更丰富但性能开销稍大。选择取决于业务需求:简单TCP服务用四层,Web应用用七层更灵活。
如何选择负载均衡算法?
选择算法需考虑服务器性能和请求特性。若服务器配置相同且请求处理时间相近,轮询(Round Robin)简单有效。若请求处理时间差异大,最少连接(Least Connections)更优。若需会话保持(Session Persistence),可使用IP哈希(IP Hash)或基于Cookie的粘性会话。对于长时间连接(如WebSocket),最少连接通常更合适。
负载均衡如何实现健康检查?
健康检查是负载均衡自动剔除故障服务器的关键机制。常见方式包括:TCP端口检查(尝试建立连接)、HTTP健康检查(发送GET请求并验证状态码200)、以及自定义脚本检查。检查间隔和超时时间需合理配置,避免误判。当故障服务器恢复后,负载均衡会自动将其重新加入服务池。
负载均衡详解:原理、算法与最佳实践 | 芒旭软件 | 芒旭软件