1.8.12 限速组件

优质
小牛编辑
131浏览
2023-12-01

RateLimitDescriptor

RateLimitDescriptor proto

RateLimitDescriptor是服务所使用的分层条目列表,用于确定最终的速率限制key和整体限制。这里有一些使用“Envoy”为域名的例子。

["authenticated": "false"], ["remote_address": "10.0.0.1"]

功能:限制所有IP地址为10.0.0.1未经身份验证的流量。该配置key为remote_address使用默认限制。如果希望提高10.0.0.1的限制或完全阻止,可以直接在配置中指定。

["authenticated": "false"], ["path": "/foo/bar"]

它做什么:在全局范围内为一个特定的路径(或前缀,如果在服务中配置的方式)限制所有未经身份验证的请求。

["authenticated": "false"], ["path": "/foo/bar"], ["remote_address": "10.0.0.1"]

功能:将未经验证的流量限制为特定IP地址和路径。像(1)我们可以提高/阻止特定的IP地址,如果我们想要一个覆盖配置。

["authenticated": "true"], ["client_id": "foo"]

它做什么:限制一个经过身份验证的客户端“foo”的所有流量。

["authenticated": "true"], ["client_id": "foo"], ["path": "/foo/bar"]

它做什么:限制流量到一个经过验证的客户端的特定路径“foo”

API背后的想法是,如果需要,(1)/(2)/(3)和(4)/(5)可以在1个请求中发送。这使得构建具有通用复杂后端应用场景的成为可能。

{
  "entries": []
}

RateLimitDescriptor.Entry

RateLimitDescriptor.Entry proto

{
  "key": "...",
  "value": "..."
}
  • key
    (string, REQUIRED) key描述符。

  • value
    (string, REQUIRED) value描述符。

返回

  • 上一级