Citrix ADC

流量域的速率限制

您可以为流量域配置速率限制。Citrix ADC 表达式语言中的以下表达式标识与流量域关联的流量。

  • client.traffic_domain.id

您可以为与特定流量域、一组流量域或所有流量域关联的流量配置速率限制。

要为流量域配置速率限制,您可以使用配置实用程序或 Citrix ADC 命令行在 Citrix ADC 设备上执行以下步骤:

  1. 配置流选择器,该选择器使用 client.stream _domain.id 表达式来标识与流量域关联的流量,以受速率限制。
  2. 配置速率限制标识符,该标识符指定参数,如限制速率的流量的最大阈值。您还可以在此步骤中将流选择器关联到速率限制器。
  3. 配置要与使用速率限制标识符的策略关联的操作。
  4. 配置使用 sys.check_limit 表达式前缀调用速率限制标识符的策略,并将操作与此策略关联。
  5. 全局绑定策略。

考虑一个示例,其中配置了 Citrix ADC NS1 上的两个流量域(ID 为 10 和 20)。在流量域 10 上,LB1-TD-1 配置为负载平衡服务器 S1 和 S2;LB2-TD1 配置为负载平衡服务器 S3 和 S4。

在流量域 20 上,LB1-TD-2 配置为负载平衡服务器 S5 和 S6;LB2-TD2 配置为负载平衡服务器 S7 和 S8。

下表列出了示例设置中流量域的速率限制策略的一些示例。

用途 CLI 命令
将每个流量域的请求数限制为每秒 10 个。 add stream selector tdratelimit-1 CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier limitidf-1 -threshold 10 -selectorName tdratelimit-1 -trapsInTimeSlice 0 add responder policy ratelimit-pol “sys.check_limit(\“limitidf-1\”)” DROP bind responder global ratelimit-pol 1
将每个流量域的请求数限制为每个客户端每秒 5 个。 add stream selector tdandclientip CLIENT.IP.SRC,CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td_limitidf -threshold 5 -selectorName tdandclientip -trapsInTimeSlice 5 add responder policy tdratelimit-pol “sys.check_limit(\“td_limitidf\”)” DROP bind responder global tdratelimit-pol 2
将针对特定流量域(例如流量域 10)发送的请求数限制为每 3 秒 30 个请求。 add stream selector tdratelimit CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td10_limitidf -threshold 30 -timeSlice 3000 -selectorName tdratelimit -trapsInTimeSlice 5 add responder policy td10ratelimit “client.traffic_domain.id==10 && sys.check_limit(\“td10_limitidf\”)” DROP bind responder global td10ratelimit 3
对于特定流量域(例如流量域 20),将连接数限制为每个客户端每秒 5 个。 add stream selector tdandclientip CLIENT.IP.SRC CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td20_limitidf -threshold 5 -mode CONNECTION -selectorName tdandclientip -trapsInTimeSlice 5 add responder policy td20_ratelimit “client.traffic_domain.id==20 && sys.check_limit(\“td20_limitidf\”)” DROP bind responder global td20_ratelimit 4

流量域的速率限制