速率限制

通过速率限制中间件控制每秒请求数量

HTTP中间件速率限制HTTP中间件允许您限制每秒HTTP请求的最大数量。通过速率限制,您可以保护应用程序免受拒绝服务(DoS)攻击的影响。DoS攻击可能由恶意第三方发起,也可能由于软件错误(即所谓的“友军火力”DoS攻击)而发生。

组件格式

在以下定义中,每秒最大请求数被设置为10:

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: ratelimit
spec:
  type: middleware.http.ratelimit
  version: v1
  metadata:
  - name: maxRequestsPerSecond
    value: 10

规格元数据字段

字段 详情 示例
maxRequestsPerSecond 每秒允许的最大请求数,基于远程IP。
组件通过X-Forwarded-ForX-Real-IP头来识别请求者的IP。
10

一旦达到限制,请求将返回HTTP状态码429: Too Many Requests

此外,您还可以使用最大并发设置来限制应用程序的请求处理能力,这种方法适用于所有流量,不论远程IP、协议或路径。

Dapr配置

要应用中间件,必须在配置中进行引用。请参阅中间件管道

apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
  name: appconfig
spec:
  httpPipeline:
    handlers:
    - name: ratelimit
      type: middleware.http.ratelimit

相关链接