Citrix ADC

令牌方法

配置为使用令牌方法的负载平衡虚拟服务器根据从客户端请求中提取的数据段的值对服务进行选择。数据段称为令牌。配置令牌的位置和大小。对于具有相同令牌的后续请求,虚拟服务器会选择处理初始请求的相同服务。

此方法具有内容感知性;对于 TCP、HTTP 和 HTTPS 连接,它的操作方式不同。对于 HTTP 或 HTTPS 服务,令牌在 HTTP 标头、URL 或 BOTY 中找到。要查找令牌,请指定或创建经典或高级表达式。有关经典或高级表达式的更多信息,请参阅策略配置和参考

对于 HTTP 服务,虚拟服务器在 TCP 负载的前 24 千字节 (KB) 中搜索配置的令牌。对于非 HTTP(TCP、SSL 和 SSL_TCP)服务,如果 16 个数据包的总大小小于 24 KB,则虚拟服务器会在前 16 个数据包中搜索配置的令牌。但是,如果 16 个数据包的总大小大于 24 KB,则设备会在前 24 KB 的负载中搜索令牌。您可以在不同类型的虚拟服务器之间使用此负载平衡方法,以确保将呈现相同令牌的请求定向到适当的服务,而无论使用何种协议。

例如,考虑由包含 Web 内容的服务器组成的负载平衡设置。您希望将 Citrix ADC 设备配置为在请求的 URL 查询部分内搜索特定字符串(令牌)。Server-1 有两个服务,即 Service-HTTP-1 和 Service-TCP-1,Server-2 有两个服务,即 Service-HTTP-2 和 Service-TCP-2。TCP 服务绑定到虚拟服务器 LB-2,HTTP 服务绑定到虚拟服务器 LB-1。

如果 Vserver-LB-1 收到带有令牌 AA 的请求,则会选择服务 Service-HTTP-1(绑定到 server-1))来处理请求。如果 V服务器LB-2 收到具有相同令牌 (AA) 的不同请求,则会将此请求定向到服务 TCPP-1。下图说明了此过程。

图 1. 令牌方法的工作原理

令牌方法

使用命令行界面配置令牌负载平衡方法

在命令提示符处,键入以下命令来配置令牌负载平衡方法并验证配置:

set lb vserver <name> -lbMethod TOKEN -rule <rule> -datalength <length> -dataoffset <offset>

show lb vserver <name>

示例:

set lb vserver LB-VServer-1 -lbMethod TOKEN -rule 'AA' -datalength 2 -dataoffset 25

show lb vserver LB-VServer-1

使用配置实用程序配置令牌负载平衡方法

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器 ,然后打开虚拟服务器。
  2. 在“高级设置”中,单击“方法”
  3. 在“负载平衡方法”列表中,选择“令牌”,然后指定表达式。

令牌方法