Ocelot速率限制尝试

25 篇文章 0 订阅
4 篇文章 0 订阅


前言

Ocelot支持上游请求的速率限制,以使您的下游服务不会过载


提示:以下是本篇文章正文内容,下面案例可供参考

一、使用步骤

1.修改Config文件夹下configuration文件配置

参考文献

代码如下(示例):

{
  "Routes": [
    {
      "DownstreamPathTemplate": "/WeatherForecast/gets",
      "DownstreamScheme": "http",
      "UpstreamPathTemplate": "/sss",
      "UpstreamHttpMethod": [ "GET" ],
      //微服务组名称
      "ServiceName": "Student",
      //Ocelot具有可以使用的RoundRobin和LeastConnection算法。如果未指定负载均衡器,则Ocelot将不会进行负载均衡请求
      "LoadBalancerOptions": {
        "Type": "RoundRobin"
      },
      "RateLimitOptions": {
        //白名单
        "ClientWhitelist": [],
        //是否限流
        "EnableRateLimiting": true,
        //指定一个时间,例如1s,5m,1h,1d等。如果在该期间内发出的请求超出限制所允许的数量,则需要等待PeriodTimespan过去,然后再发出其他请求
        "Period": "1s",
        //多少时间后,可以重新请求。
        "PeriodTimespan": 1,
        //在Period的指定时间内,最多请求次数
        "Limit": 1
      }
    }
  ],
  "GlobalConfiguration": {
    "ServiceDiscoveryProvider": {
      "Host": "127.0.0.1",
      "Port": 8500,
      "Type": "Consul"
    },
    "RateLimitOptions": {
       //DisableRateLimitHeaders-此值指定是否禁用X-Rate-Limit和Retry-After标头
      "DisableRateLimitHeaders": false,
      //QuotaExceededMessage-此值指定超出的消息
      "QuotaExceededMessage": "Customize Tips!",
      //HttpStatusCode-发生速率限制时,此值指定返回的HTTP状态代码。
      "HttpStatusCode": 999,
      //ClientIdHeader-允许您指定应用于标识客户端的标头。默认情况下为“ ClientId”
      "ClientIdHeader": "Test"
    }
  }
}

2.使用Jmeter进行测试

  1. Jmeter设置
    在这里插入图片描述

  2. 结果查看

在这里插入图片描述
在这里插入图片描述


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值