レポート

「『nginx実践入門』出版記念!執筆者らが語る nginx Tech Talks」レポート

この記事を読むのに必要な時間:およそ 3 分

Practical nginx lua in Kayac @fujiwara

藤原俊一郎氏

藤原俊一郎氏

藤原俊一郎氏@fujiwaraは,カヤックでのnginxの利用事例を紹介しました。事例の一つとして紹介されたFluentdへのログの送信は,他の言語との比較検討の結果ngx_luaを利用してLuaで書き,高いパフォーマンスを実現できたそうです。

nginx limit_req_zoneを本番環境にあとちょっとで導入出来た話 @maaaato

中野雅之氏

中野雅之氏

gumiの中野雅之氏@maaaatoは,秒間に許可するリクエスト数を制限するlimit_reqについて講演しました。

重いAPIへの対策として選択したのがこのlimit_reqを利用する方法で,いろいろと躓いた点はあったものの無事テストまで完了したものの,タイトルにあるとおり諸事情で本番環境への導入は見送られたそうです。

nginx luaでJSON-RPC batch requestを実装して地雷踏んだ話 @mosa_siru

榎本悠介氏

榎本悠介氏

Gunosyに勤める榎本悠介氏@mosa_siruは,nginxでJSON-RPCによる通信を実現する方法について解説しました。

リクエストもレスポンスも非常にシンプルな形で表現でき,さらにBatch Requestを使うと複数のリクエストを一気に送り,一気にレスポンスが得られて効率的な通信が実現できます。

しかし,JSON-RPCの既存フレームワークは,Batch Requestを直列で処理するため効率的ではありません。そこで,Batch Requestをnginxのレイヤーで並列にノンブロッキングで実装できるライブラリを作成したそうです。さらに,lua nginx利用時に一部注意点があるそうなので,詳しくはスライドを参照してください。

SSLセッションキャッシュを共有したいだけの人生だった @nojima

野島裕輔氏

野島裕輔氏

サイボウズの野島裕輔氏@nojimaは,SSLセッションキャッシュの共有に関しての講演を行いました。SSL通信時の負荷軽減に非常に効果があるのですが,複数のサーバ間で共有できないという問題点があります。これを可能にするパッチを作成したとのことです。こちらはサイボウズに本番環境でも利用していてトラブルもないとのことでした。

ngx_http_groonga - 全文検索nginx @ktou

須藤功平氏

須藤功平氏

最後は,クリアコードの須藤功平氏@ktouによる講演です。HTTPサーバー,メールプロキシサーバー,リバースプロキシなどいろいろな役割を果たせるnginxに全文検索エンジンの機能を持たせるngx_http_groongaを紹介しました。

マルチプロセスでスケールする,I/O多重化などnginxの良さを活かし,かつGroongaの能力により高いスループット,スケーラビリティを実現していました。

まとめ

どの講演も現場でnginxを活用しているエンジニアによるもので,非常に濃く,盛りだくさんの内容でした。イベント後の懇親会でもエンジニア同士濃い交流が行われていました。