openresty 之resty.limit.req模块介绍

本文介绍了如何使用OpenResty的lua-resty-limit-traffic模块来实现动态和静态限流,特别是通过漏桶方法平滑限制请求数。讲解了配置过程,包括设置共享内存和编写lua脚本,并提到了适用于不同场景的灵活性。
摘要由CSDN通过智能技术生成

一、openresty实现限流说明:

静态拦截和动态拦截介绍
静态拦截就是限流某一个接口在一定时间单位的请求数。一般就是单位1s内的客户端的请求数。
例如用户可以在系统上给他们的接口配置一个每秒最大调用量,如果超过这个限制,则拒绝服务此接口。
而动态拦截其实也是基于静态拦截进行改进,我们可以依据当前系统的响应时间来动态调整限流的阈值,如果响应较快则可以把阈值调的大一些,
放过更多请求,反之则自动降低限流阈值,只使少量请求通过。

其实这就是一个很简单的限流方式。但是因为这些场景在我们开发的时候经常遇到,然而OpenResty 大概实现一些常见的限流方式。
(此处使用OpenResty1.13.6.1版本自带lua-resty-limit-traffic模块 ,实现起来更为方便)。只要是openresty版本号大于1.13.6.1的,都是默认自带lua-resty-limit-traffic模块的

如果,OpenResty版本低于1.13.6.1 ,则需要下载限流模块,下面是下载地址:
git clone https://github.com/openresty/lua-resty-limit-traffic.git

二、平滑限制请求数

2.1具体配置过程如下:

平滑限制请求数(使用漏桶的方法)
场景:
限制 ip 每分钟只能调用 120 次 /1.html 接口文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值