系统限流实践 - 接入层限流(下*完结)

本文介绍了如何利用Openresty的lua-resty-limit-traffic模块进行接入层限流,通过示例和配置解析展示了限流实践,包括new和incoming方法的使用,并在nginx.conf中配置限流脚本,但测试中发现实际效果与预期存在小的误差。
摘要由CSDN通过智能技术生成

本文是根据开涛的博客 聊聊高并发系统之限流特技-2 整理而成,自学笔记第二篇
欢迎访问我的个人博客 http://rayleung.xyz/

目录

1.系统限流实践 - 理论篇
2.系统限流实践 - 应用限流
3.系统限流实践 - 分布式限流
4.系统限流实践 - 接入层限流(上)
5.系统限流实践 - 接入层限流(下*完结)

开篇

上篇学习了通过Nginx模块进行限流的方法(传送门),接下来学习一下利用Nginx+Lua进行接入层限流

Openresty提供了lua-resty-limit-traffic模块进行限流,模块实现了limit.connlimit.req的功能和算法。参考链接

实践

添加模块

这里使用的是windows的openresty环境,具体安装配置请参考windows版openresty安装或者自行百度
首先需要下载lua-resty-limit-traffic模块
下载zip文件
然后把zip包解压出来,进入lib/resty目录下,会看到有一个叫limit文件夹,里面存放的就是我们需要的模块;最后把limit文件夹复制拷贝到openresty根目录下的nginx/resty目录下
拷贝文件

resty.limit.req模块

resty.limit.req使用漏桶算法,它与Nginx的标准模块ngx_limit_req类似,不过resty.limit.req使用更灵活,可以在绝大部分的上下文上使用
参考链接

示例

http {
    lua_shared_dict my_limit_req_store 100m;

    server {
        location / {
            access_by_lua '

                local limit_req = require "resty.limit.req"

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值