OpenResty+Lua限流实战
摘要:OpenResty+Lua限流实战目录一. 限制并发二. 反向代理三. 内部重定向四. lua初始化五. 限制接口时间窗请求数(非平滑)六. 限制接口时间窗请求数(平滑) a. 桶(无容量) b. 漏桶(有桶容量)七. 令牌桶八. 组合各种limter 一. 限制并发 场景1:按照 ip 限制其并发
阅读全文
posted @
2022-09-19 13:46
Ruthless
阅读(1770)
推荐(0) 编辑
OpenResty实现限流--限频限流
摘要:如何做到API接口防刷 背景目前在做的系统有提供Open API接入,即客户通过API Key接入使用系统功能。所允许接入的API根据功能种类不同所需系统开销有所差异,从技术角度希望对系统增加一些保护措施,避免用户接入使用过程有意或无意高频调用一些API对系统构成压力,从而影响整个系统稳定性。 限制
阅读全文
posted @
2022-09-16 17:16
Ruthless
阅读(1884)
推荐(1) 编辑
nginx并发量优化
摘要:nginx并发量优化 高并发下nginx调优实战(值得收藏)
阅读全文
posted @
2022-09-08 10:15
Ruthless
阅读(64)
推荐(0) 编辑
Lua 面向对象(实现类的创建和实例化、封装、继承、多态)
摘要:--Lua 面向对象(实现类的创建和实例化、封装、继承、多态) --1、Lua面向对象基础 --1.1、Lua类的创建和实例化 --name、age相当于person对象的成员变量,eat()相当于person对象方法 person={name='张三', age=20} function pers
阅读全文
posted @
2022-09-02 14:10
Ruthless
阅读(765)
推荐(0) 编辑
lua list 封装
摘要:-- list索引从1开始 list = {} list.__index = list function list:new() local o = {} setmetatable(o, self) return o end function list:add(item) table.insert(s
阅读全文
posted @
2022-09-02 11:29
Ruthless
阅读(193)
推荐(0) 编辑
lua map 封装
摘要:map = {} local this = map function this:new() o = {} setmetatable(o,self) self.__index = self self.count = 0 return o end -- put在放入数据时,如果放入数据的key已经存在M
阅读全文
posted @
2022-09-02 11:28
Ruthless
阅读(139)
推荐(0) 编辑
OpenResty Redis操作二次封装
摘要:在web+lua+openresty开发中会大量操作redis,项目中的代码会重复创建连接-->数据操作-->关闭连接(或放到连接池)这个完整的链路调用完毕,甚至还要考虑不同的 return 情况做不同处理,就很快发现代码中有大量的重复代码。 因此推荐一个二次封装的类库。 1、编写redis_ire
阅读全文
posted @
2022-08-29 19:42
Ruthless
阅读(417)
推荐(0) 编辑
openresty/nginx配置多个conf文件
摘要:Linux/Centos在/etc/nginx/目录下创建conf.d/,用来存放自定义conf文件 Windows在D:/dev/nginx-1.9.14/目录下创建conf.d/,用来存放自定义conf文件 1、nginx.conf配置文件 #user nobody; worker_proces
阅读全文
posted @
2022-08-29 14:27
Ruthless
阅读(1166)
推荐(0) 编辑
在lua中操作http请求有两种方式
摘要:第一种方式:使用通过ngx.location.capture 去方式实现,但是有一些限制第二种方式:因为openresty默认没有引入第三方http客户端类库lua-resty-http,需要下载(推荐)。 下载lua-resty-http类库 wget https://github.com/led
阅读全文
posted @
2022-08-26 10:03
Ruthless
阅读(10631)
推荐(0) 编辑
多级缓存-nginx(OpenResty)本地缓存
摘要:在查询商品时,优先查询OpenResty的本地缓存,需求:1.修改item.lua中的read_data函数,优先查询本地缓存,未命中时再查询Redis、Tomcat2.查询Redis或Tomcat成功后,将数据写入本地缓存,并设置有效期3.商品基本信息,有效期30分钟4.库存信息,有效期1分钟 1
阅读全文
posted @
2021-10-28 09:29
Ruthless
阅读(669)
推荐(0) 编辑
Eclipse——安装Lua Eclipse插件
摘要:首先单击Eclipse->Help->Install New Software 在出现的Install窗口中,点击右侧的Add 并在Name中输入 keplerLocation中输入 http://download.eclipse.org/releases/kepler,点击ok 然后出现下图 在t
阅读全文
posted @
2021-10-26 10:58
Ruthless
阅读(420)
推荐(0) 编辑
多级缓存-OpenResty tomcat集群负载均衡
摘要:#user nobody; worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { include mime.types; default_type application/oc
阅读全文
posted @
2021-10-21 20:22
Ruthless
阅读(101)
推荐(0) 编辑
多级缓存-OpenResty获取请求参数
摘要:OpenResty提供了各种API用来获取不同类型的请求参数: 在查询商品信息的请求中,通过路径占位符的方式,传递了商品id到后台: 需求:在OpenResty中接收这个请求,并获取路径中的id信息,拼接到结果的json字符串中返回 nginx.conf配置: #user nobody; worke
阅读全文
posted @
2021-10-20 19:41
Ruthless
阅读(283)
推荐(0) 编辑
多级缓存-OpenResty快速入门
摘要:需求:实现商品详情页数据查询,在OpenResty中接收请求,并返回一段商品的假数据。 步骤一:修改nginx.conf文件1.在nginx.conf的http下面,添加对OpenResty的Lua模块的加载: #####Windows版 #加载lua 模块 lua_package_path "D:
阅读全文
posted @
2021-10-20 19:09
Ruthless
阅读(287)
推荐(0) 编辑
多级缓存-Windows安装OpenResty
摘要:1、下载windows版本的openresty1.1、openresty文档 2、解压解压放在D:\dev\openresty-1.19.9.1目录下 nginx的默认配置文件注释太多,影响后续我们的编辑,这里将nginx.conf中的注释部分删除,保留有效部分。修改`D:/dev/openrest
阅读全文
posted @
2021-10-20 15:28
Ruthless
阅读(368)
推荐(0) 编辑
多级缓存-Centos安装OpenResty
摘要:1.安装首先你的Linux虚拟机必须联网,OpenResty下载地址。 1)安装开发库首先要安装OpenResty的依赖开发库,执行命令: yum install -y pcre-devel openssl-devel gcc --skip-broken 2)安装OpenResty仓库你可以在你的
阅读全文
posted @
2021-10-20 14:48
Ruthless
阅读(240)
推荐(0) 编辑