NSX Edge 负载平衡器在多个服务器之间分配网络流量以实现最佳的资源利用率,提供冗余以及分配使用的资源。

NSX 负载平衡器支持第 4 层和第 7 层负载平衡引擎。第 4 层负载平衡器基于数据包,从而提供快速路径处理;第 7 层负载平衡器基于套接字,从而为后端服务提供高级流量处理和 DDOS 迁移。

基于数据包的负载平衡是在 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 标头。

每个池都由相关联的服务监控器监控。当负载平衡器检测到池成员出现问题时,会将其标记为关闭。从服务器池中选择池成员时,仅会选择已启动的服务器。如果服务器池未配置服务监控器,则将所有池成员视为已启动。

注:

有关负载平衡器故障排除信息,请参阅NSX 故障排除指南