当前位置: 首页 > 知识库问答 >
问题:

Istio EnvoyFilter速率限制

锺玺
2023-03-14

我们必须为Istio配置速率限制。我们正在使用istio 1.6。提供的所有示例都具有基于标头的速率限制。我们是否可以对所有请求限制我们的应用程序,而不考虑标题。像istio一样,应该限制所有用户在一分钟内访问应用程序超过500次。

共有1个答案

颜霖
2023-03-14

作为特使,筛选器速率限制使用键值对应用速率限制规则。Istio/特使角色是为发送到rateLimit服务的流量分配正确的密钥和相应的值。基于这一点,我想说不可能将所有用户限制在开箱即用的范围内,但我认为您可以通过一些解决方法来解决这个问题。

这样的想法涌上心头,值得一试。

  • 向每个传入请求添加一些随机头。然后使用基于此值的速率限制。有一个示例说明如何向每个请求添加自定义头
 类似资料:
  • 速率限制配置参考 filter.http.RateLimit filter.http.RateLimit proto { "domain": "...", "stage": "...", "request_type": "...", "timeout": "{...}" } domain (string, REQUIRED) 需要调用速率限制服务时的域。 stage (uint3

  • 速率限制配置参考。 filter.network.RateLimit filter.network.RateLimit proto { "stat_prefix": "...", "domain": "...", "descriptors": [], "timeout": "{...}" } stat_prefix (string, REQUIRED) 发布统计信息时使用的前缀。

  • 速率限制配置概述。 { "name": "rate_limit", "config": { "domain": "...", "stage": "...", "request_type": "...", "timeout_ms": "..." } } domain (required, string) 调用速率限制服务时使用的域。 stage (opt

  • 速率限制配置参考。 { "name": "ratelimit", "config": { "stat_prefix": "...", "domain": "...", "descriptors": [], "timeout_ms": "..." } } stat_prefix (required, string) 发布统计信息时使用的前缀。 domai

  • 速率限制架构概述 v1 API 参考 v2 API 参考 当请求的路由或虚拟主机有一个或多个符合过滤器设置的速率限制配置时,HTTP速率限制过滤器将调用速率限制服务。路由可以选择包含虚拟主机速率限制配置。可配置多个应用于请求。每个配置描述符都会导致被发送到速率限制服务。 如果速率限制服务被调用,并且任何响应超出限制的描述符,都将返回429响应。 组成操作 注意:本文是为v1 API编写的,但这些概

  • 全局限速架构概述 v1 API 参考 v2 API 参考 统计 每个配置的速率限制过滤器的统计信息均以ratelimit.<stat_prefix>.为前缀。统计如下: 名称 类型 描述 total Counter 请求限速服务的总数 error Counter 限速服务请求失败的总数 over_limit Counter 限速服务的响应上限 ok Counter 限速服务的响应下限 cx_clo