双十一零点,几亿人同时冲进来。如果所有请求都砸到一台服务器上,它早炸了。

现实世界的办法很简单:超市开多个收银台、医院开多个挂号窗口。负载均衡(Load Balancer) 干的就是这件事——把海量请求分摊到多台服务器上。

一、它长什么样

想象一个路口有个“交通指挥”:所有车(请求)先到他这儿,他再看哪条道(服务器)不那么堵,把车放过去。

负载均衡像分诊台

没有它:一台机器累死,其他闲着;它一挂,全站瘫痪。 有它:流量被摊开,一台挂了还能把活儿分给别人,高可用 + 可扩容。

二、怎么决定“分给谁”

常见的几种分发策略:

  • 轮询:1、2、3、1、2、3……挨个来,简单公平,但不管谁忙谁闲。
  • 最少连接:谁手头活儿最少就给谁,更照顾忙闲不均。
  • IP 哈希:同一个用户的请求总落到同一台机器,方便保持登录状态(会话粘滞)。
  • 加权:机器有强有弱,强的多分点(权重高)。

三、它在哪几层干活

  • 四层(L4):看 IP 和端口就转发,快,像按车道放行。
  • 七层(L7):能看懂“你要访问 /api 还是 /static”,按内容分流,灵活。

四、和你的关系

你用的每個大网站背后都有负载均衡:你感知不到具体是哪台机器在服务你,只知道网站“一直能打开”。做架构时,它通常是第一道大门。

一句话:负载均衡就是“别让一个人扛所有活”,把压力分给一群人,既扛得住高峰,又不怕个别掉队。