MD 更新:未知

形象比喻

餐厅的领位员,作用把客户(请求)领到比较空闲的服务员(服务器)那里

核心架构

负载均衡位于客户端和服务器之间,起到中转站的作用

  • 分流压力:把请求分配到多台服务器上,防止单台服务器崩溃
  • 高可用性(故障转移):自动识别损坏服务器,转发给正常服务器
  • 伸缩性:当业务增长时,你只需要多加几台服务器到“池子”里,负载均衡器就能立即开始利用它们。 使用服务集群改善网站并发能力

常见的分配策略(算法)

负载均衡器如何决定把请求给谁?通常有几种“领位”逻辑:

  • 轮询 (Round Robin): 按顺序轮着来。第一个请求给 A,第二个给 B,以此类推。

  • 加权轮询 (Weighted Round Robin): 考虑服务器性能。性能好的服务器(如 16核)多分配点请求,性能差的(如 2核)少分配点。

  • 最少连接数 (Least Connections): 谁手头正在处理的任务最少,就把新任务给谁。

  • 源地址哈希 (IP Hash): 根据用户的 IP 地址计算。这样可以确保同一个用户在一段时间内总是访问同一台服务器(有助于维持登录状态/Session)。

负载均衡的分类

1. 四层负载均衡(传输层)

  • 原理: 基于 IP 和端口进行转发。

  • 特点: 它不关心你发送的内容是什么(比如是网页还是视频),只是单纯地把包传过去。

  • 性能: 极高,因为它不需要解析应用数据。

2. 七层负载均衡(应用层)

  • 原理: 基于内容转发(HTTP 协议、URL、Cookie 等)。

  • 特点: 它会“看”一眼你的请求。比如:发现你是请求图片的,就发给图片服务器;请求视频的,发给视频服务器。

  • 灵活性: 极强,可以做更精细的流量控制和安全性校验。