什么是负载均衡

负载均衡是一种将用户请求合理地分发到多台后端服务器技术

目的是提高系统的并发能力、可用性与容错性,从而实现高可用和高性能

负载均衡分类

负载均衡可分为三种层次

层次名称例子说明
L4传输层负载均衡LVS、Nginx基于TCP/UDP层
L7应用层负载均衡Nginx、Gateway基于HTTP/HTTPS,支持路径、头部等规则
客户端客户端负载均衡Ribbon、Feign客户端自行选择服务器地址发起请求

常见的负载均衡算法

轮询(Round Robin)

  • 每个请求按照顺序依次分配到不同的服务器
  • 简单、均衡

随机(Random)

  • 随机选一个服务器处理请求
  • 简单、高效,可能导致分配不均匀

加权轮询(Weighted Round Robin)

  • 给服务器设置权重,高性能的服务器分配更多请求
  • 适合服务器性能差以较大的场景

加权随机(Weighted Random)

  • 权重控制随机概率,高权重服务器被选中概率高

最少连接数(Least Connections)

  • 动态分发:每次选择当前连接数最少的服务器
  • 适用于长连接场景(如WebSocket)

一致性哈希(Consistent Hash)

  • 请求通过哈希后定位到固定服务器节点
  • 适用于需要请求粘性或会话保持的场景

负载均衡算法对比

算法是否支持权重是否考虑服务器状态是否支持粘性特点
轮询均衡、简单
随机快速、无序
加权轮询支持服务器性能差异
加权随机简单、负载控制
最少连接动态调整、适合长连接
一致性哈希请求定向

总结

  • 负载均衡是高可用架构的核心基础设施
  • 选择合适的算法要结合业务
  • 一致性哈希适合请求绑定场景
  • 加权策略适合后端机器能力不均匀场景
最后修改:2025 年 06 月 24 日
如果觉得我的文章对你有用,请随意赞赏