ASMGlobalRateLimiter CRD说明

更新时间:2025-03-24 10:04:11

ASM通过ASMGlobalRateLimiter实现全局限流的声明式配置。本文介绍ASMGlobalRateLimiter的字段说明。

spec

字段

类型

是否必选

说明

字段

类型

是否必选

说明

workloadSelector

map<string, string>

通过一个或多个标签,指明限流配置生效的一组特定的工作负载。标签搜索的范围限制在资源所在的配置命名空间。更多信息,请参见Workload Selector

isGateway

bool

限流配置生效的工作负载是否为网关,默认为false。

rateLimitService

RateLimitServiceConfig

限流服务配置。

configs

GlobalRateLimiterConfig[]

全局限流配置,可配置多条。

RateLimitServiceConfig

字段

类型

是否必选

说明

字段

类型

是否必选

说明

host

string

限流服务Service的集群域名。

port

int

限流服务的Service gRPC端口。

timeout

Duration

网格代理连接限流服务的超时时间。例如seconds: 1nanos: 1000。nanos表示纳秒。

GlobalRateLimiterConfig

字段

类型

是否必选

说明

字段

类型

是否必选

说明

name

string

单条限流配置的名称。

match

RatelimitMatch

匹配条件。

limit

GlobalServiceLimitConfig

限流阈值配置。

limit_overrides

GlobalRateLimitOverrideConfig[]

限流阈值覆盖配置。可通过该字段针对特定的请求指定单独的限流阈值。支持配置多个覆盖配置。

说明

仅支持ASM 1.19.0及以上版本。

RatelimitMatch

字段

类型

是否必选

说明

字段

类型

是否必选

说明

vhost

VirtualHostMatch

VirtualHost匹配条件。

GlobalServiceLimitConfig

字段

类型

是否必选

说明

字段

类型

是否必选

说明

unit

string

限流计量时间单位。取值:

  • MINUTE:分

  • SECOND:秒

quota

int

单位时间内允许的请求总量。

GlobalRateLimitOverrideConfig

字段

类型

是否必选

说明

字段

类型

是否必选

说明

request_match

RequestMatcher

限流阈值覆盖配置指定的请求匹配条件。只有匹配条件的请求会应用覆盖配置中的限流阈值。

limit

GlobalServiceLimitConfig

限流阈值覆盖配置指定的请求限流阈值。

VirtualHostMatch

字段

类型

是否必选

说明

字段

类型

是否必选

说明

name

string

匹配的VirtualHost名称。

port

int

匹配的请求端口。

route

RouteMatch

匹配的请求接口对应的路由名称。

RouteMatch

字段

类型

是否必选

说明

字段

类型

是否必选

说明

name_match

string

匹配的路由名称,对应VirtualService下的单条路由名称。

header_match

HeaderMatcher[]

匹配服务请求的Header,支持配置多个。

说明

ASM 1.19.0及以上版本,该字段被标注为废弃(Deprecated),请使用GlobalRateLimitOverrideConfig对请求进行匹配。

RequestMatcher

说明

RequestMatcher中的多个字段可以同时使用。同时使用时,请求必须同时符合每个字段的匹配条件才会被匹配。

字段

类型

是否必选

说明

字段

类型

是否必选

说明

header_match

HeaderMatcher[]

匹配请求的header,支持配置多个。

remote_address

RemoteAddressMatcher

匹配请求的源IP。

query_match

QueryParameterMatcher[]

匹配请求的查询参数(query params),支持配置多个。

RemoteAddressMatcher

字段

类型

是否必选

说明

字段

类型

是否必选

说明

address

string

匹配的请求源的IP地址。

v4_prefix_mask_len

uint32

如果需要匹配IPv4地址范围,在此字段填写IPv4地址子网掩码长度,并在address处填写IPv4地址。将会匹配address在掩码后的地址范围。

v6_prefix_mask_len

uint32

如果需要匹配IPv6地址范围,在此字段填写IPv6地址子网掩码长度,并在address处填写IPv6地址。将会匹配address在掩码后的地址范围。

HeaderMatcher

字段

类型

是否必选

说明

字段

类型

是否必选

说明

name

string

Header名称。

任选其一

regex_match

string

正则表达式匹配。

exact_match

string

精确匹配。

prefix_match

string

前缀匹配,以什么开头进行匹配。

suffix_match

string

后缀匹配,以什么结尾进行匹配。

present_match

bool

  • 配置为true,表示存在Header即可,无需关注Header Value的取值。

  • 配置为false,表示不存在Header。

invert_match

bool

默认为false。

  • 配置为true,表示上述匹配结果取反。

  • 配置为false,表示遵循上述匹配结果。

QueryParameterMatcher

字段

类型

是否必选

说明

字段

类型

是否必选

说明

name

string

查询参数的名称。

任选其一

exact_match

string

精确匹配查询参数的内容。

prefix_match

string

前缀匹配查询参数的内容。

suffix_match

string

后缀匹配查询参数的内容。

regex_match

string

正则表达式匹配查询参数的内容。

contains_match

string

包含匹配查询参数的内容,即要求查询参数的内容必须包含某个子串。

present_match

bool

  • 配置为true,表示进行存在性匹配,即存在指定的查询参数即可,不关注内容。

  • 不能配置false,配置为false等同于不配置,需要指定其它匹配条件。

ignore_case

bool

是否在匹配查询参数时忽略大小写。

相关文档

使用ASMGlobalRateLimiter对应用服务入口流量配置全局限流

  • 本页导读 (1)
  • spec
  • RateLimitServiceConfig
  • GlobalRateLimiterConfig
  • RatelimitMatch
  • GlobalServiceLimitConfig
  • GlobalRateLimitOverrideConfig
  • VirtualHostMatch
  • RouteMatch
  • RequestMatcher
  • RemoteAddressMatcher
  • HeaderMatcher
  • QueryParameterMatcher
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等