Ocelot中文文档-流量控制(转)
原文地址:https://www.cnblogs.com/snaildev/articles/9151729.html
感谢@catcherwong 的文章激励我最终写出了这个文档
Ocelot支持上游的请求限制,以便您的下游服务不会过载。 此功能是由GitHub上的@geffzhang添加! 非常感谢。
好了,为了让ReRoute获得流量限制,你需要添加下面的json到ReRoute中。
|
1
2
3
4
5
6
7
|
"RateLimitOptions": { "ClientWhitelist": [], "EnableRateLimiting": true, "Period": "1s", "PeriodTimespan": 1, "Limit": 1} |
- ClientWhitelist - 是一个包含客户端白名单列表的数组。这意味着在白名单里的客户端不受流量限制的影响。
- EnableRateLimiting - 该值指定流量限制是否开启。
- Period - 该值指定时间段,例如1s,5m,1h,1d等。
- PeriodTimespan - 该值指定我们可以在一定的秒数后重试。
- Limit - 该值指定一个客户端可以在定义的时间段(Period)内允许的最大请求数。
您还可以在ocelot.json的GlobalConfiguration部分中设置以下内容
|
1
2
3
4
5
6
|
"RateLimitOptions": { "DisableRateLimitHeaders": false, "QuotaExceededMessage": "Customize Tips!", "HttpStatusCode": 999, "ClientIdHeader" : "Test"} |
- DisableRateLimitHeaders - 该值指定是否禁用X-Rate-Limit和Rety-After头。
- QuotaExceededMessage - 该值指定超出限制时返回的消息。
- HttpStatusCode - 该值指定超出限制时返回的HTTP状态代码。
- ClientIdHeader - 允许您指定应该用于标识客户端的头。 默认是“ClientId”
如需转载,请在显眼处标明本文链接,谢谢。
笨一点没关系,只要自己不放弃自己

浙公网安备 33010602011771号