OpenResty 私有库是由 OpenResty Inc. 构建和维护的商业级、生产就绪的 Lua 库和 Nginx 模块。其中多个库是知名开源组件——lua-resty-redislua-resty-httplua-cjson,乃至 LuaJIT 本身——的即插即用替换或深度增强版本,采用纯 C 核心实现,提供更高的吞吐量、可预测的资源消耗,以及商业支持。

完整目录

功能对应的开源组件了解更多
luajit-plus优化版 LuaJIT 引擎:在分配器层面主动回收 RSS 内存,table 操作加速(某些场景下快数千倍),额外的语言便利特性LuaJIT博客 · 文档
jit.cjson(随 luajit-plus 一同分发)JSON 编码速度最高 18 倍、解码速度最高 6 倍于开源 Lua-cjson 模块;支持 JSON 注释和尾部逗号lua-cjson博客 · 手册
lua-resty-jsonb以二进制 JSONB 形式操作和存储 JSON 数据,避免序列化/反序列化,减少 GC 对象lua-cjson(替代方案)文档
lua-resty-tls-session集群范围的 TLS 会话票据密钥同步与零停机轮换——无需 nginx -s reload—(填补了原生 Nginx TLS 操作中的空白)博客 · 文档
lua-resty-http-fast高性能 HTTP 客户端,纯 C 核心,100% 非阻塞 I/O,接口与开源 lua-resty-http 保持一致lua-resty-http文档
lua-resty-kafka-fast由 librdkafka 驱动的 Kafka 生产者/消费者,在专用执行单元中运行;批量写入可达每核 250,000 条/秒lua-resty-kafka博客 · 手册
lua-resty-redis-fast纯 C 核心的 Redis 客户端——性能最高可达开源 lua-resty-redis 的 2.5 倍lua-resty-redis文档
lua-resty-redis-cluster-fast在同一 C 核心 cosocket 基础上增加 Redis Cluster 支持lua-resty-redis(集群模式)文档
lua-resty-mysql-fast高性能 MySQL 客户端,纯 C 核心,100% 非阻塞 I/O文档
lua-resty-memcached-fast高性能 memcached 客户端,纯 C 核心,100% 非阻塞 I/O文档
lua-resty-dymetrics无锁高性能指标采集,支持 JSON 或 Prometheus 输出文档
lua-resty-limit-traffic-dynamic动态 HTTP 请求限速,将 CPU 利用率保持在指定目标范围内文档
lua-io-nginx-module-plus非阻塞文件读写,比开源版本更稳定lua-io-nginx-module文档
openresty-minifiers流式 JS/CSS/HTML 压缩,作为 Nginx 输出过滤器运行——每核 120+ MB/s,O(1) 内存博客 · 文档
dubbo-nginx-module-plus深度优化的 Dubbo 网关模块,稳定性和性能均优于开源版本dubbo-nginx-module文档
zstd-nginx-module-plusZstandard (zstd) 压缩——性能比 gzip 压缩高 2–5 倍——修复了开源版本的 bug,并提供 Lua 接口实现动态控制zstd-nginx-module文档

按场景分类

数据库和缓存客户端。 lua-resty-redis-fastlua-resty-redis-cluster-fastlua-resty-mysql-fastlua-resty-memcached-fast 采用相同的设计理念:以纯 C 核心和 100% 非阻塞 I/O 重新实现的高性能客户端。

HTTP 和消息队列。 lua-resty-http-fast 保持与开源 lua-resty-http 一致的接口;lua-resty-kafka-fast 将 Kafka 写入完全移出请求路径;dubbo-nginx-module-plus 服务于 Dubbo 网关部署。

JSON 和数据处理。 jit.cjsonlua-cjson 的即插即用替换——无需修改代码;lua-resty-jsonb 更进一步,通过对二进制 JSONB 直接操作来完全避免序列化。

内容和压缩。 openresty-minifiers 在网关层对 JS/CSS/HTML 进行即时压缩,适用于无法修改上游构建流程的场景;zstd-nginx-module-plus 为 Nginx 带来了生产级的 Zstandard 压缩能力。

流量控制和可观测性。 lua-resty-limit-traffic-dynamic 根据 CPU 利用率目标动态调整限速;lua-resty-dymetrics 以无锁方式采集指标,支持导出 JSON 或 Prometheus 格式。

TLS 和运行时。 lua-resty-tls-session 使 TLS 会话恢复在负载均衡集群中可靠运行,并支持零停机密钥轮换;luajit-plus 替换 LuaJIT 运行时,从根本上解决 RSS 膨胀和 OOM Kill 问题;lua-io-nginx-module-plus 在不阻塞事件循环的前提下处理文件 I/O。

许可方式

这些库是由 OpenResty Inc.——即 OpenResty 本身的创建者和维护者——构建的专有软件。通过标准包管理器(aptyum)以私有包的形式分发,使用订阅 token 进行认证,并持续接收更新和安全修复。如需评估、了解定价或部署指导,请访问产品页面或联系我们的工程团队。

常见问题

问:OpenResty 私有库是开源的吗? 答:不是。它们是由 OpenResty Inc. 构建的商业专有库。其中许多是对流行开源组件(lua-resty-redis、lua-resty-http、lua-cjson、LuaJIT)的增强或替换。

问:使用它们需要修改代码吗? 答:取决于具体的库。有几个是即插即用的:jit.cjson 不影响已有的 require "cjson" 调用,luajit-plus 替换运行时无需任何代码修改,openresty-minifiers 仅需配置即可启用。而客户端库(如 lua-resty-kafka-fast)则提供了自己的(刻意精简的)API。

问:如何安装它们? 答:通过您常用的包管理器(apt-get install / yum install),从 OpenResty Inc. 的私有包仓库安装,使用您的订阅令牌进行认证。各库的具体安装说明请参阅官方文档