微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx tcp lua module

程序名称:nginx tcp lua module

授权协议: GPL

操作系统: Linux

开发语言: C/C++

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] 举报,一经查实,本站将立刻删除。

相关推荐