侧边栏

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”

 

如需转载,请在显眼处标明本文链接,谢谢。
posted @   我有我的骄傲  阅读(74)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示