Citrix ADC

负载均衡如何工作

在基本的负载平衡设置中,客户端将请求发送到Citrix ADC设备上配置的虚拟服务器的IP地址。虚拟服务器根据预先设定的模式(称为负载均衡算法)将它们分发给负载均衡的应用服务器。在某些情况下,您可能希望为负载平衡虚拟服务器分配一个通配符地址,而不是一个特定的IP地址。有关在设备上指定全局HTTP端口的说明,请参见HTTP全局端口

负载均衡基础

负载平衡设置包括一个负载平衡虚拟服务器和多个负载平衡应用服务器。虚拟服务器接收传入的客户端请求,使用负载均衡算法选择应用服务器,并将请求转发给所选的应用服务器。下面的概念图说明了一个典型的负载平衡部署。另一种变化涉及分配一个全局HTTP端口。

图1所示。负载均衡架构

lb-architecture

负载平衡虚拟服务器可以使用许多算法(或方法)中的任何一种来确定如何在它所管理的负载平衡服务器之间分配负载。默认的负载平衡方法是最少连接方法,在这种方法中,Citrix ADC设备将每个传入的客户机连接转发到当前具有最少活动用户连接的负载平衡应用程序服务器。

在典型的Citrix ADC负载平衡设置中配置的实体是:

  • 负载均衡虚拟服务器。客户端向特定负载均衡网站或应用程序发送连接请求的IP地址、端口和协议组合。如果应用程序可以从Internet访问,则虚拟服务器IP (VIP)地址为公网IP地址。如果应用程序只能从局域网(LAN)或广域网(WAN)访问,则VIP通常是一个私有(ICANN不可路由)IP地址。
  • 服务。用于将请求路由到特定负载均衡应用程序服务器的IP地址、端口和协议组合。服务可以是应用服务器本身的逻辑表示,也可以是运行在承载多个应用程序的服务器上的应用程序的逻辑表示。创建服务后,将其绑定到负载平衡虚拟服务器。
  • 服务器对象。一种虚拟实体,它使您能够为物理服务器分配名称,而不是通过其IP地址识别服务器。如果您创建了一个服务器对象,您可以在创建服务时指定它的名称,而不是服务器的IP地址。否则,在创建服务时必须指定服务器的IP地址,IP地址将成为服务器的名称。
  • 班长。Citrix ADC设备上跟踪服务并确保其正确运行的实体。监视器定期探测(或对分配给它的每个服务执行运行状况检查)。如果服务在超时指定的时间内没有响应,并且指定数量的运行状况检查失败,则该服务将被标记为DOWN。然后,Citrix ADC设备在执行负载平衡时跳过该服务,直到导致服务停止响应的问题得到修复。

负载均衡设置中的虚拟服务器、服务和负载均衡应用程序服务器可以使用Internet Protocol version 4 (IPv4)或Internet Protocol version 6 (IPv6) IP地址。您可以在单个负载平衡设置中混合使用IPv4和IPv6地址。

有关负载平衡设置的变化,请参阅以下用例:

了解拓扑

在负载平衡设置中,负载平衡服务器在逻辑上位于客户端和服务器群之间,并管理到服务器群中服务器的流量。在Citrix ADC设备上,应用服务器由称为服务的虚拟实体表示。下图显示了一个基本负载平衡配置的拓扑结构。

图2。基本负载均衡拓扑

局部的图片

在图中,负载平衡用于管理到服务器的流量。虚拟服务器选择服务并将其分配给服务客户端请求。考虑这样一个场景,其中创建了服务Service-HTTP-1和服务- http -2,并将它们绑定到名为Vserver-LB-1的虚拟服务器。Vserver-LB-1将客户端请求转发给Service-HTTP-1或Service-HTTP-2。Citrix ADC设备使用最小连接负载平衡方法为每个请求选择服务。下表列出了必须在设备上配置的基本实体的名称和值。

实体 名字 IPAddress 港口 协议
虚拟服务器 Vserver-LB-1 10.102.29.60 80 HTTP
服务 Service-HTTP-1 10.102.29.5 80 HTTP
Service-HTTP-2 10.102.29.6 80 HTTP
监控 默认的 没有一个 没有一个 没有一个

上表所示的负载均衡样例值和必选参数如下图所示。

图3。负载均衡实体模型

lb-entity-model

使用通配符代替IP地址和端口

在某些情况下,您可能需要为IP地址或虚拟服务器的端口或服务的端口使用通配符。以下情况可能需要使用通配符:

  • 如果将Citrix ADC设备配置为透明通道,则必须接受发送给它的所有通信,而不管发送到的IP或端口是什么。
  • 如果一个或多个服务监听的端口不是已知的。
  • 对于一个或多个服务,随着时间的推移,更改它们侦听的端口。
  • 如果您达到了可以在单个Citrix ADC设备上配置的IP地址和端口数量的限制。
  • 如果要创建侦听特定虚拟LAN上的所有通信的虚拟服务器。

当通配符配置的虚拟服务器或服务接收到流量时,Citrix ADC设备确定实际的IP地址或端口,并为服务和关联的负载均衡应用程序服务器创建新记录。这些动态创建的记录称为动态学习服务器和服务记录。

例如,防火墙负载均衡配置可以对IP地址和端口都使用通配符。如果将通配符TCP服务绑定到这种类型的负载均衡虚拟服务器,则虚拟服务器将接收和处理所有与任何其他服务或虚拟服务器不匹配的TCP流量。

下表描述了一些不同类型的通配符配置,以及应该在什么时候使用它们。

知识产权 港口 协议 描述
TCP 通用通配符虚拟服务器,接受发送到Citrix ADC设备上的任何IP地址和端口的通信。当使用通配符虚拟服务器时,设备动态学习每个服务的IP和端口,并在处理流量时创建必要的记录。
TCP 防火墙负载均衡虚拟服务器。您可以将防火墙服务绑定到此虚拟服务器,Citrix ADC设备将流量通过防火墙传递到目的地。
IP地址 TCP、UDP和ANY 虚拟服务器接受发送到指定IP地址的所有流量,而不考虑端口。必须显式地将流量重定向到的服务绑定到这种类型的虚拟服务器。它不会动态地学习它们。
请注意:不为全局HTTP端口配置服务或虚拟服务器。在这种情况下,将特定端口配置为全局HTTP端口(例如设置ns param -httpPort 80)。然后设备接受与端口号匹配的所有通信,并将其作为HTTP通信进行处理。设备动态地学习并为此流量创建服务。
港口 SSL, SSL_TCP 一种虚拟服务器,它接受发送到特定端口上任何IP地址的所有流量。用于全局透明SSL卸载。通常为相同协议类型的服务执行的所有SSL、HTTP和TCP处理都应用于定向到该特定端口的流量。设备使用端口动态地学习它应该使用的服务的IP。如果未指定-cleartext,则Citrix ADC设备使用端到端SSL。
港口 不适用 所有其他可以接受到该端口的流量的虚拟服务器。您不能将服务绑定到这些虚拟服务器;Citrix ADC设备动态地学习它们。

注意:如果您已将Citrix ADC设备配置为使用全局(通配符)端口的透明通道,则可能需要打开Edge模式。有关更多信息,请参见“配置边缘模式”。

Citrix ADC设备尝试通过首先尝试精确匹配来定位虚拟服务器和服务。如果没有找到,则继续根据通配符按以下顺序搜索匹配:

  1. 指定的IP地址和端口
  2. 指定的IP地址和*(通配符)端口
    • (通配符)IP地址和特定端口
    • (通配符)IP地址和*(通配符)端口

如果设备无法通过IP地址或端口号选择虚拟服务器,它将根据请求中使用的协议按以下顺序搜索虚拟服务器:

  1. HTTP
  2. TCP
  3. 任何

配置全局HTTP端口

不需要为全局HTTP端口配置服务或虚拟服务器。相反,您可以使用set ns param命令配置特定的端口。配置此端口后,Citrix ADC设备接受与端口号匹配的所有流量,并将其作为HTTP流量处理,动态地学习并为该流量创建服务。

HTTP全局端口可以配置多个端口号。如果在同一个set ns param命令中指定了多个端口号,端口号之间用一个空格分隔。如果一个或多个端口已经被指定为全局HTTP端口,如果要在不删除当前配置的端口的情况下添加一个或多个端口,则必须在命令中指定所有的端口号,包括当前端口和新端口。在添加端口号之前,请使用show ns param命令查看当前已配置的端口。

使用命令行方式配置全局HTTP端口

在命令提示符下,输入以下命令配置全局HTTP端口并验证配置:

设置nsparam -httpPort ——NeedCopy >

例1:配置端口为全局HTTP端口

在本例中,80端口配置为全局HTTP端口。

set ns param -httpPort 80 Done show ns param全局配置设置:HTTP端口:80最大连接数:0每个连接最大请求数:0客户端IP插入:DISABLED Cookie版本:0持久Cookie安全标志:ENABLED ... ...< !——NeedCopy >

例2:当已经配置了一个或多个HTTP全局端口时,添加端口**

在此例中,将8888端口添加到HTTP全局端口列表中。80端口已经配置为全局HTTP端口。

> show ns param全局配置设置:HTTP端口:80最大连接数:0每个连接最大请求数:0客户端插入IP: DISABLED Cookie版本:0持久Cookie安全标志:ENABLED最小路径MTU: 576 ... ...完成> set ns param -httpPort 80 8888完成> show ns param全局配置设置:HTTP端口:80,8888最大连接数:0每个连接最大请求数:0客户端IP插入:DISABLED Cookie版本:0持久Cookie安全标志:ENABLED最小路径MTU: 576 ... ...完成> 

通过使用配置实用程序配置全局HTTP端口

  1. 在“系统>设置>修改HTTP参数”中添加HTTP端口号。
负载均衡如何工作