速率限制配置
速率限制配置
全局速率限制架构概述。
stage (optional, integer) 指在过滤器中设置的阶段。速率限制配置仅适用于具有相同阶段编号的过滤器。默认的阶段编号是0。
注意:对于阶段编号,过滤器支持0-10的范围。
disable_key (optional, string) 在运行时设置的key,用于禁用此速率限制配置。
actions (required, array) 将应用于此速率限制配置的操作列表。顺序很重要,因为这些操作是按顺序处理的,描述符是通过在该顺序中附加描述符条目来组成的。如果某个操作无法附加描述符条目,则不会为该配置生成描述符。请参阅相关操作文档。
Actions
type
(required, string) 要执行的速率限制操作的类型。当前支持的操作类型是
source_cluster
,destination_cluster
,request_headers
,remote_address
,generic_key
和header_value_match
。
Source Cluster
以下描述符条目被追加到描述符中:
<local service cluster>
是从 --service-cluster
选项派生出来的.
Destination Cluster
以下描述符条目被追加到描述符中:
一旦请求与路由表规则匹配,路由的集群就由以下路由表配置设置之一确定:
cluster 指定要路由到的上游群集。
weighted_clusters 从一组具有权重属性的集群组中随机选择一个集群。
cluster_header 指定从请求中的头部获取目标群集。
Request Headers
header_name (required, string) 要从请求头中查询的该头的名称。头的值用于填充
descriptor_key
的描述符条目的值。descriptor_key (required, string) 在描述符条目中使用的关键。
当一个头包含一个与header_name
匹配的关键字时,附加下面的描述符条目:
Remote Address
以下描述符条目被追加到描述符中,并使用来自x-forwarded-for的可信地址填充:
Generic Key
descriptor_value
(required, string) 描述符条目中使用的值。
以下描述符条目被追加到描述符中:
Header Value Match
descriptor_value (required, string) 描述符条目中使用的值。
expect_match (optional, boolean) 如果设置为true,则该操作将在请求与头部匹配时附加描述符条目。如果设置为false,则该操作将在请求与头部不匹配时附加描述符条目。默认值是true。
headers (required, array) 指定速率限制操作应匹配的一组头。将检查请求的头部与配置中所有指定的头部。如果配置中的所有报头都存在于具有相同值的请求中(或者如果没有配置
value
字段,则认为存在),则匹配将发生。
以下描述符条目被追加到描述符中: .. code-block:: cpp
返回
Last updated
Was this helpful?