MST
星途 面试题库

面试题:微服务架构下Nginx在负载均衡中的常用算法有哪些及原理

在微服务架构中,Nginx作为常用的负载均衡工具,请列举出至少三种它在负载均衡方面常用的算法,并简要阐述每种算法的工作原理。
16.8万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试
  • 轮询(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会动态监控后端服务器的连接数,实时将请求导向负载最小的服务器。