kong的插件: Response Rate Limiting

简述

这也是一种限流的插件和Rate Limiting相似,但是有一定的区别。Response Rate Limiting是由后端服务控制频率的减少,而Rate Limiting是由Kong完成的。
在这里插入图片描述

操作起来
环境准备

你应该有一个能正常使用的service和route,如果没有可以参考https://blog.csdn.net/u014686399/article/details/100084613,我的试验就是基于这个的

启用插件
/routes/1972af43-5cb0-4c84-b15e-b96a2da52893/plugins POST
{
	"name":"response-ratelimiting",
	"config":{
		"limits":{
			"xmm":{
				"day":10
			}
		}
	}
}
  • 1972af43-5cb0-4c84-b15e-b96a2da52893 这是route的id
  • response-ratelimiting 插件的名字
  • xmm 这个是自定义的, 限制的名字
  • day这是表示这个路由一天能被访问10次。具体还可以按照分钟,秒,小时,年等官网
插件的说明

如果路由或者服务上没有应用认证的插件(如base-auth,key-auth),kong会议client ip的维度统计。如果应用可会以consumer的维度统计。

后端服务改造一下

默认后端服务会接收到 X-Ratelimit-Remaining-Xmm 请求头,表示还有剩余多少次访问,其中Xmm是我们定义的limit的名字。我们可以设置X-Kong-Limit作为回应,表示在剩余值的基础上减少多少。如 X-Kong-Limit: XMM=2,表示减少2;X-Kong-Limit: XMM=0,表示不减少;
在这里插入图片描述
下面是我的代码:

    def get(self):
        self.print_header()
        self.set_header("X-Kong-Limit", "xmm=2") #重点部分
        self.render("index.html")
测试一下

在这里插入图片描述
图中表示,剩余值设置的是20,现在还剩8次

我再点击8次
在这里插入图片描述


先写到这里了,有问题进QQ群630300475

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值