4.1 负载均衡概述

业内讨论网络负载均衡器的时候,负载均衡器(Load Balancer)和代理(Proxy)两个术语经常无差别混用,本文继续沿用这种惯例,认为二者整体上对等。

严格讲并非所有代理都是负载均衡器,但绝大多数代理都有负载均衡功能。

如图 4-1 所示的负载均衡高层架构图,若干客户端(Client)正在访问若干后端服务(RealServer),中间的负载均衡器起到以下作用:

  • 服务发现:系统中哪些后端可用、它们的地址是什么(负载均衡器如何能够联系上它们);
  • 健康检查:哪些后端是健康的,可以正常接收请求;
  • 负载均衡:用哪种算法来均衡请求至健康的后端。


图 4-1 负载均衡架构

负载均衡使用得当可以给分布式系统带来很多好处:

  • 命名抽象:客户端可以通过预设的机制访问负载均衡器(包括内置库、DNS 等),这样每个客户端就无需知道有哪些后端(通过服务发现);
  • 容错:通过健康检查和多种算法,负载均衡器可以将请求有效地路由到正健康的后端 ,这意味着运维人员可以从容地修复出现故障的后端;
  • 成本和性能收益:分布式系统的网络很少是同构的,系统很可能跨多个网络 Zone/Region。带有相关策略的负载均衡器可以最大限度地将请求流量保持在同一个 Zone 内部,这样既提高了性能(延迟降低)、又减少了整体的系统成本(减少跨 Zone 带宽成本)。
总字数:457
Last Updated:
Contributors: isno