ConcurrencyLimitingPolicy是服务网格ASM流量调度套件提供的一种预置策略,可以用声明式的方式对网格内服务的全局流量配置并发数限制。本文介绍ConcurrencyLimitingPolicy的CRD说明。
ConcurrencyLimitingPolicySpec
ConcurrencyLimitingPolicySpec是ConcurrencyLimitingPolicy的核心配置,即spec部分。
字段 | 类型 | 是否必选 | 说明 |
concurrency_limiter | 是 | 指定执行并发数限制的限制器配置。 |
ConcurrencyLimiter
ConcurrencyLimiter指定并发数限制器的各项参数。
字段 | 类型 | 是否必选 | 说明 |
max_concurrency | int64 | 是 | 请求并发数上限。 |
parameters | 是 | 并发数限制器执行策略相关配置。 | |
request_parameters | 否 | 并发数限制器的请求操作配置,与RateLimitingPolicy限流器的请求操作配置一致。 | |
selectors | []Selector | 是 | 基于选择器来选择并发数限制生效的具体请求流。 |
ConcurrencyLimiterParameters
字段 | 类型 | 是否必选 | 说明 |
limit_by_label_key | string | 否 | 指定并发数限制策略使用什么请求标签进行分组。制定后,不同标签的请求将拥有各自的并发数限制。关于如何指定请求标签,请参见请求标签说明。 |
max_idle_time | Duration | 否 | 当配置 |
max_inflight_duration | Duration | 是 | 请求处理超时时间。由于集群中可能发生Pod重启等突发情况,导致ASM流量调度套件可能无法记录到请求结束事件,为防止此类请求影响并发数限制算法的判断,需要指定请求处理超时时间,超过此时间还未响应的请求将视作处理结束。您可以通过评估请求的期望最大响应时间来设定此值。 |