MST

星途 面试题库

面试题:微服务架构下常见负载均衡算法及应用场景

请列举微服务架构中至少三种常见的负载均衡算法,并简要说明它们各自适用的应用场景。
38.7万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试
  • 轮询(Round Robin)
    • 原理:将请求依次分配到每个服务器上,按照顺序循环进行。
    • 适用场景:适用于服务器硬件配置相近,处理能力相当的场景。例如在一组配置相同的Web服务器上,轮询算法能均匀地分配请求,充分利用各个服务器的资源。
  • 加权轮询(Weighted Round Robin)
    • 原理:为每个服务器分配一个权重值,权重越高,被分配到请求的概率越大。在循环分配时,按照权重比例分配请求。
    • 适用场景:当服务器硬件配置不同,处理能力有差异时适用。比如有一台高性能服务器和两台普通服务器,高性能服务器权重可设高些,这样能让性能强的服务器承担更多请求,提高整体处理效率。
  • 随机(Random)
    • 原理:从服务器列表中随机选择一台服务器来处理请求。
    • 适用场景:适用于服务器处理能力相近,且对请求分配的随机性有一定要求的场景。例如在一些对流量分布均匀性要求不是特别严格,且希望简单实现负载均衡的小型系统中较为适用。
  • 最少连接(Least Connections)
    • 原理:优先将请求分配给当前连接数最少的服务器。因为连接数少意味着服务器负载相对较低,能更好地处理新请求。
    • 适用场景:适用于长连接业务场景,如数据库连接池管理等。这种算法可以避免将请求分配到已经过载的服务器上,保证系统整体的稳定性。
  • IP哈希(IP Hash)
    • 原理:根据客户端的IP地址,通过哈希算法计算出一个哈希值,然后根据这个哈希值将请求分配到固定的服务器上。
    • 适用场景:适用于需要保证特定客户端请求始终路由到同一服务器的场景。比如某些应用需要在服务器端保持用户会话状态,使用IP哈希能确保同一用户的请求都由同一服务器处理,避免会话丢失等问题。