Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

「ミドルウェアにmrubyを組み込む方法」についてまとめた

ミドルウェアの設定を書いたり運用したりしている時に、リクエストに対して動的にあれこれしたいなーという気持ちになったことは一度や二度ではないと思います。たとえば、nginxにおけるngx_mrubyのような感じで、リクエストに応じてmrubyで処理を書くみたいな。

自分自身もそういう気持ちに何度かなったのでそういうコードを書き始めたのですが、その過程で、ミドルウェアにmrubyを組み込む方法について簡潔にまとめられた資料を見つけられなかったので、できるだけわかりやすくまとめてみようと思って以下のようなスライドを作成しました(これを用いて、社内の技術勉強会で話しました)。

speakerdeck.com

mrubyの組み込みをやってみようと意気込んでみたところで、いきなりnginxなどのような大きなミドルウェアに対峙してしまうと、Cやmrubyの知識に加えて、そもそもそのミドルウェアの内部仕様も知る必要があり、ハードルが高いと思います。なので、このスライドでは、簡単なエコーサーバをmrubyで拡張するという道筋で説明するようにしました。

最小限の説明ではありますが、mrubyの組み込みをするときには必ず出て来るようなポイントを押さえてはいると思いますので、これからそういうことをしようという方には、参考になるところもあると思います。