速率限制

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

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 

相关链接