Citrix ADC

负载均衡的工作原理

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

负载均衡基础知识

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

图1。负载均衡架构

负载均衡架构

负载平衡虚拟服务器可以使用几种算法(或方法)来确定如何在它所管理的负载平衡服务器之间分配负载。默认的负载平衡方法是连接最少的方法,在这种方法中,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协议版本4 (IPv4)或Internet协议版本6 (IPv6)的IP地址。您可以在单个负载平衡设置中混合使用IPv4和IPv6地址。

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

了解拓扑

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

图2。负载均衡基本拓扑

负载均衡拓扑

在图中,负载均衡用于管理到服务器的通信流。虚拟服务器选择服务并将其分配给客户端请求。考虑这样一个场景:创建服务Service-HTTP-1和Service-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。负载均衡实体模型

负载均衡实体模型

使用通配符代替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端口(例如,set ns param -httpPort 80)。然后,设备接受与端口号匹配的所有流量,并将其作为HTTP流量处理。设备动态地学习并为此流量创建服务。
港口 SSL, SSL_TCP 一种虚拟服务器,它接受发送到特定端口上的任何IP地址的所有流量。用于全局透明SSL卸载。通常为相同协议类型的服务执行的所有SSL、HTTP和TCP处理都应用于定向到此特定端口的流量。设备使用该端口动态学习它必须使用的服务的IP。如果未指定-cleartext,则Citrix ADC设备使用端到端SSL。
港口 不适用 可以接受端口流量的所有其他虚拟服务器。您不需要将服务绑定到这些虚拟服务器。Citrix ADC设备动态学习它们。

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

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端口并验证配置结果:

set ns param -httpPort  show ns param 

例1:配置HTTP全局端口

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

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

例2:在已经配置了一个或多个全局HTTP端口**的情况下添加端口

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

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

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

  1. 导航到系统>设置>修改HTTP参数,然后添加HTTP端口号。
负载均衡的工作原理