面试题答案
一键面试- 轮询(Round Robin):
- 原理:按顺序逐一将请求分配到不同的后端服务器。例如有服务器A、B、C,第一个请求分配到A,第二个到B,第三个到C,第四个又回到A,依此类推。这种算法简单直观,不考虑服务器的性能差异,平均分配请求。
- 加权轮询(Weighted Round Robin):
- 原理:在轮询的基础上,为每个后端服务器分配一个权重值。权重值越高,表示该服务器处理请求的能力越强,分配到的请求也就越多。比如服务器A权重为2,服务器B权重为1,那么分配请求时,会有2个请求分配到A,1个请求分配到B,然后循环此比例。
- IP哈希(IP Hash):
- 原理:根据客户端的IP地址,通过哈希算法计算出一个哈希值,再根据这个哈希值将请求固定地分配到某一台后端服务器。这样同一个IP地址的客户端请求始终会被转发到同一台服务器,可用于需要会话保持的场景,比如用户登录后,后续请求能一直落在同一台处理登录业务的服务器上。
- 最少连接(Least Connections):
- 原理:将新的请求分配到当前连接数最少的后端服务器。因为连接数少意味着服务器的负载相对较轻,能更好地处理新请求。Nginx会动态监控后端服务器的连接数,实时将请求导向负载最小的服务器。