当前位置: 首页 > 工具软件 > Lua > 使用案例 >

nginx 集成lua操作mysql

微生鸿轩
2023-12-01

前言

lua是一夸小巧,灵活且高效的脚本语言,用标准C语言编写并以源代码形式开发,在很多业务场景下配合适当的设计,可以带来意想不到的效果;

举个常见的例子,现在几乎很多公司都会用到nginx作为代理服务器,假如现在有这么个需求,需要做黑名单过滤,或者在网关这一层做流控,这该怎么做呢?

实现思路

  • 直接在nginx做配置黑名单,通过编写逻辑块实现;
  • 在服务端(Java)中编写过滤器,在过滤器中统一拦截;
  • 在服务端(Java)中编写拦截器,在拦截器中统一拦截;

这里列举了3种实现的思路,至于实现方案,可能还有更多,但是我们想想,在nginx中编写逻辑块貌似不是很多人擅长的;在代码层面做不是不可以,而是这样一来,在涉及到高并发的业务高峰期,这必然会对后端服务造成较大的压力,那么还有没有其他更好的处理办法呢?

这就是要说的lua,即nginx作为网关仍然作为代理服务器,由于nginx可以集成lua,于是使用lua进行配合,来完成上面的业务实现的设计;

ngx_lua模块概念

  • ngx_lua模块由淘宝技术团队开发,通过将lua解释器集成进Nginx;
  • 可采用lua脚本实现业务逻辑,由于lua的紧凑、快速以及内建协程,所以在保证高并发服务能力的同时极大地降低了业务逻辑实现成本;
  • </
 类似资料: