负载平衡器采用负载分配对用户透明的方式,在多个服务器中分发入站服务请求。负载平衡可以帮助实现最优的资源使用、最大吞吐量、最短响应时间,并可以避免出现超载的情况。

NSX 负载平衡器支持两个负载平衡引擎。第 4 层负载平衡器基于数据包,提供快速路径处理。第 7 层负载平衡器基于套接字,支持高级流量管理策略和对后端服务的 DDOS 缓解。

在外部接口上配置 NSX Data Center for vSphere Edge 网关的负载平衡,因为 Edge 网关对来自外部网络的入站流量进行负载平衡。在为虚拟服务器配置负载平衡时,请指定您在组织 VDC 中具有的一个可用 IP 地址。

负载平衡策略和概念

在 TCP 和 UDP 层实施基于数据包的负载平衡策略。基于数据包的负载平衡不会停止连接或缓冲整个请求,而是在处理数据包后将其直接发送到选定的服务器。TCP 和 UDP 会话会在负载平衡器中进行维护,以便将单个会话的数据包传送到同一服务器。您可以在全局配置和相关虚拟服务器配置中选择“已启用加速”,以启用基于数据包的负载平衡。

在套接字接口上实施基于套接字的负载平衡策略。会为单个请求建立两个连接 - 面向客户端的连接和面向服务器的连接。选择服务器后建立面向服务器的连接。对于基于 HTTP 套接字的实施,会在通过可选 L7 处理发送到选定服务器之前接收整个请求。对于基于 HTTPS 套接字的实施,会在面向客户端的连接或面向服务器的连接上交换身份验证信息。基于套接字的负载平衡是 TCP、HTTP 和 HTTPS 虚拟服务器的默认模式。

NSX 负载平衡器的主要概念有虚拟服务器、服务器池、服务器池成员和服务监控器。

虚拟服务器
应用程序服务的抽象形式,由 IP、端口、协议和应用程序配置文件(如 TCP 或 UDP)的唯一组合表示。
服务器池
后端服务器组。
服务器池成员
作为池中的成员表示后端服务器。
服务监控器
定义如何探测后端服务器的运行状况。
应用程序配置文件
表示给定应用程序的 TCP、UDP、持久性和证书配置。

设置概述

首先设置负载平衡器的全局选项。现在,创建由后端服务器成员组成的服务器池,并将服务监控器与该池关联,以便有效地管理和共享后端服务器。

其次,创建应用程序配置文件,以定义负载平衡器中的常见应用程序行为,如客户端 SSL、服务器 SSL、X-Forwarded-For 或持久性。持久性使用类似特性(例如,需要将源 IP 或 cookie 分派到同一个池成员)发送后续请求,而无需运行负载平衡算法。可以在虚拟服务器之间重复使用应用程序配置文件。

然后,创建一个可选应用程序规则,以配置应用程序特定的流量处理设置,例如匹配某个 URL 或主机名,从而可以由不同的池处理不同的请求。接下来,创建特定于应用程序的服务监控器,或者如果现有服务监控器满足您的需求,也可以使用此现有服务监控器。

(可选)您可以创建应用程序规则以支持 L7 虚拟服务器的高级功能。应用程序规则的某些用例包括内容切换、标头处理、安全规则和 DOS 防护。

最后,创建虚拟服务器,将服务器池、应用程序配置文件和任何潜在的应用程序规则连接在一起。

虚拟服务器收到请求时,负载平衡算法将考虑池成员配置和运行时状态。然后,算法计算相应的池(包含一个或多个成员)以分发流量。池成员配置包括权重、最大连接数和条件状态等设置。运行时状态包括当前连接数、响应时间以及运行状况检查状态信息。计算方法可以是循环、加权循环、最少连接、源 IP 哈希、加权最少连接、URL、URI 或 HTTP 标头。

每个池都由相关联的服务监控器监控。当负载平衡器检测到池成员出现问题时,会将其标记为关闭。从服务器池中选择池成员时,仅选择正常运行的服务器。如果服务器池未配置服务监控器,那么将认为所有池成员均正常运行。