nginx tcp lua module 介绍
基于Nginx1.4.1版本, 本着精简,高效,模块化等原则,吸收Nginx-http-lua模块(https://github.com/openresty/lua-Nginx-module), tcp_lua模块(https://github.com/bigplum/Nginx-tcp-lua-module) 等第三方Nginx模块的设计框架和精华代码,忠于Nginx编程思想和代码风格,化繁去简, 实现基于tcp之上的自定义协议服务器,支持类似Nginx扩展模块的开发,支持类似ngx-http-lua的快速的业务逻辑开发模式,支持基于异步socket反向代理,并实现与上游http,MysqL服务的请求交互,支持http简单负载均衡. 1. 日志: 新增 error_log, access_log 的网络日志功能。 2. tcp 模块。 tcp框架下自定义协议开发,模块示例 demo 3. 基于tcp框架的tcp_lua模块。 在基本代码框架上做调整: 3.1 将整个ngx_tcp_lua作为一个独立模块,而非整个tcp模块围绕tcp_lua模块开发。 3.2 鉴于一个连接上仅有一个客户端,将封装的socket上下游通用类分离出下游函数。socket类仅与上游交互。简化逻辑。 3.3 为提高效率,lua处理请求分为 连接会话和协议请求。充分利用keepalive。 具体参照文档和实现。 3.4 去掉接收数据时的模式匹配功能函数receiveutil,简化接收发送缓存的实现,使得对内存的控制更精确,内存资源管理更简单。 3.5 扩充init_by_lua功能和共享内存操作功能, ngx.sleep,ngx.exit等函数。 3.6 优化代码和修复已知bug. 3.7 支持使用MysqL,http协议与上游交互,并支持简单的负载均衡和重试机制 3.8 实现ngx.nlog代替ngx.log打印网络日志 4. 详细说明见 src/tcp/doc/ 相关文档
nginx tcp lua module 官网
https://github.com/laozi2/nginx-tcp-lua-module
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。