本地速率限制(proto)

此扩展的限定名称为 envoy.filters.network.local_ratelimit

注意

此扩展旨在对不受信任的下游流量具有鲁棒性。它假设上游是可信的。

提示

此扩展扩展并可与以下扩展类别一起使用

此扩展必须使用以下类型 URL 之一进行配置

本地速率限制 配置概述.

extensions.filters.network.local_ratelimit.v3.LocalRateLimit

[extensions.filters.network.local_ratelimit.v3.LocalRateLimit proto]

{
  "stat_prefix": ...,
  "token_bucket": {...},
  "runtime_enabled": {...},
  "share_key": ...
}
stat_prefix

(string, REQUIRED) 在发出 统计信息 时要使用的前缀。

token_bucket

(type.v3.TokenBucket, REQUIRED) 用于对过滤器过滤器链处理的连接进行速率限制的令牌桶配置。过滤器处理的每个传入连接都会消耗一个令牌。如果令牌可用,则允许连接。如果没有令牌可用,连接将立即关闭。

注意

在当前实现中,每个过滤器和过滤器链都有一个独立的速率限制,除非通过 share_key 配置了共享速率限制。

注意

在当前实现中,令牌桶的 fill_interval 必须 >= 50ms,以避免过于激进的回填。

runtime_enabled

(config.core.v3.RuntimeFeatureFlag) 控制过滤器是否启用或禁用的运行时标志。如果未指定,则默认为启用。

share_key

(string) 指定用于速率限制的令牌桶应与具有匹配的 token_bucketshare_key 配置的其他 local_rate_limit 过滤器共享。为了共享令牌桶,token_bucket 的所有字段必须完全匹配。如果此字段为空,则此过滤器不会与任何其他过滤器共享令牌桶。