OpenResty プライベートライブラリ:高性能 Lua & Nginx モジュール
OpenResty のプライベートライブラリは、OpenResty Inc. が構築・メンテナンスする商用・本番グレードの Lua ライブラリおよび Nginx モジュールです。その中にはいくつかが、よく知られたオープンソースコンポーネント——lua-resty-redis、lua-resty-http、lua-cjson、さらには LuaJIT 自体——のドロップイン置換または高度な拡張であり、ピュア C コアによる高スループット、予測可能なリソース使用量、商用サポートを提供します。
全カタログ
| ライブラリ | 機能 | 対応するオープンソース | 詳細 |
|---|---|---|---|
| luajit-plus | 最適化された LuaJIT エンジン:アロケータレベルでの積極的な RSS メモリ回収、テーブル操作の高速化(一部シナリオで数千倍)、追加の言語機能 | 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 | ピュア C コアによる高性能 HTTP クライアント、100% ノンブロッキング I/O、オープンソースの lua-resty-http と一貫したインターフェース | lua-resty-http | ドキュメント |
| lua-resty-kafka-fast | librdkafka を活用した専用実行ユニットで動作する Kafka プロデューサー/コンシューマー;バッチ書き込みで 1 コアあたり 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 | ピュア C コアによる高性能 MySQL クライアント、100% ノンブロッキング I/O | — | ドキュメント |
| lua-resty-memcached-fast | ピュア C コアによる高性能 memcached クライアント、100% ノンブロッキング I/O | — | ドキュメント |
| lua-resty-dymetrics | ロックフリーの高性能メトリクス収集、JSON または Prometheus 出力に対応 | — | ドキュメント |
| lua-resty-limit-traffic-dynamic | CPU 使用率を指定範囲内に維持する動的 HTTP リクエストレート制限 | — | ドキュメント |
| lua-io-nginx-module-plus | ノンブロッキングのファイル読み書き、オープンソース版よりも安定性が高い | lua-io-nginx-module | ドキュメント |
| openresty-minifiers | Nginx 出力フィルターとしてのストリーミング JS/CSS/HTML ミニファイ——1 コアあたり 120+ MB/s、O(1) メモリ | — | ブログ · ドキュメント |
| dubbo-nginx-module-plus | 深く最適化された Dubbo ゲートウェイモジュール、オープンソース版より安定性・性能ともに向上 | dubbo-nginx-module | ドキュメント |
| zstd-nginx-module-plus | Zstandard (zstd) 圧縮——gzip 圧縮の 2〜5 倍のパフォーマンス——オープンソース版のバグ修正と動的制御用の Lua インターフェースを追加 | zstd-nginx-module | ドキュメント |
シナリオ別の内容
データベースおよびキャッシュクライアント。 lua-resty-redis-fast、lua-resty-redis-cluster-fast、lua-resty-mysql-fast、lua-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.cjson は lua-cjson のドロップイン置換——コード変更不要;lua-resty-jsonb はさらに一歩進んで、バイナリ JSONB 上で直接操作することでシリアライゼーション自体を回避します。
コンテンツと圧縮。 openresty-minifiers は、上流のビルドパイプラインを変更できない場合にゲートウェイで JS/CSS/HTML をインフライトでミニファイ;zstd-nginx-module-plus は本番環境で鍛えられた堅牢な Zstandard 圧縮を Nginx にもたらします。
トラフィック制御とオブザーバビリティ。 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 自体の開発・メンテナンスチームである OpenResty Inc. が構築したプロプライエタリソフトウェアです。サブスクリプショントークンで認証された標準のパッケージマネージャ(apt、yum)を通じて、プライベートパッケージとして配布され、継続的なアップデートとセキュリティ修正を受けられます。評価、料金、またはデプロイメントのガイダンスについては、製品ページをご覧いただくか、エンジニアリングチームにお問い合わせください。
FAQ
Q: OpenResty プライベートライブラリはオープンソースですか? A: いいえ。OpenResty Inc. が構築した商用プロプライエタリライブラリです。その多くは人気のあるオープンソースコンポーネント(lua-resty-redis、lua-resty-http、lua-cjson、LuaJIT)を強化または置換するものですが、プライベートライブラリ自体は商用ライセンスでの提供となります。
Q: 使用するためにコードを変更する必要がありますか?
A: ライブラリによります。いくつかはドロップインで使えます:jit.cjson は既存の require "cjson" をそのまま動作させ、luajit-plus はコード変更なしでランタイムを置換し、openresty-minifiers は設定のみで有効化できます。lua-resty-kafka-fast などのクライアントライブラリは、独自の(意図的にコンパクトな)API を提供しています。
Q: どのようにインストールしますか?
A: 通常のパッケージマネージャ(apt-get install / yum install)を使用し、OpenResty Inc. のプライベートパッケージリポジトリからサブスクリプショントークンで認証してインストールします。各ライブラリのインストール手順は公式ドキュメントをご参照ください。












