文件名称:ngx_lua 在又拍云的应用:日志收集及其他 - 又拍云系统开发工程师 - 张聪
文件大小:2.01MB
文件格式:PDF
更新时间:2019-08-08 12:40:06
ngx_lua
ngx_lua 是一个 NGINX 的第三方扩展模块,它能够将 Lua 代码嵌入到 NGINX 中来执行。UPYUN 的 CDN 大量使用了 NGINX 作为反向代理服务器,并开发了一系列例如流量统计、缓存调度、防盗链等相关的 C 模块,但从 2013 年开始由于业务场景的复杂化,使得用 C 模块来写这些业务逻辑有点力不从心了,对于小团队来说开发和维护负担都很重,因此我们选择了将这部分业务逻辑迁移到 ngx_lua 上,事实表明,这大大提升了我们整个 CDN 层业务功能的迭代速度和最终线上表现。此次主要跟大家分享的就是我们团队在这整个转换过程中的一些心得体会,以及在 NGINX 上基于 ngx_lua 的一些有趣的功能,特别地,会着重介绍下我们是如果利用 ngx_lua 的灵活性来动态收集日志进行数据聚合分析的。