mod_mrubyとApache(Nginx)の関係を図示してみた

今回は、言葉だけだと非常に分かり難いmod_mrubyの役割を図示してみました。

このエントリを読んだ後にでも、「なぜApacheにmrubyを組み込もうと思ったか」を読むと色々理解が深まるかもしれません。

ApacheとApacheモジュールの関係を図示

まずは、ApacheとApacheモジュールの関係は以下のようになります。

皆さんご存知の通り、ApacheコアにApache APIがかぶさっていて,Apacheモジュールを組み込んでいく仕組みです。

では、mod_mrubyだとどういう図になるのでしょうか。

ApacheもApacheモジュールとmod_mrubyの関係を図示

このように、mod_mrubyでmrubyスクリプトの実装を吸収して、Apache内部と処理を連携する事ができます。Apacheモジュールでやれるような事をmrubyスクリプトで実装するというのはこういうイメージです。mod_mrubyを介してmrubyでもApacheの内部処理を実装できますし、それ以上に複雑な処理はApacheモジュールで実装する、といった使い方が可能です。

では、今後どういうこと方向に進めていきたいかを次の図で示します。

ApacheやNginxとmrubyの関係を図示(今後目指す仕組み)

このように、mod_mrubyとngx_mrubyによって、mrubyの実装を吸収したいと考えています。完全に一緒とまではいかないと思いますが、できるだけサーバ内部の拡張機能をmrubyで実装して、それをApacheやNginxによらずWebサーバ用のmruby APIで吸収して、mrubyスクリプトをサーバソフトウェアによらず使えるようにしたいと考えています。さらには、他のWebサーバソフトウェアでもmruby API for Webで吸収できれば、もっと夢が広がるんじゃないかと考えています。

どうでしょうか、大体mod_mrubyのイメージと今後目指す所が伝わったのではないかと思います。

もし、このエントリでmod_mrubyに興味を持っていただけたなら、以下のエントリを読むと面白いかもしれません。

上から順に時系列でならべました。少し量が多いですが、これまでのmod_mruby開発の流れが分かると思います。

「mod_mrubyとApache(Nginx)の関係を図示してみた」への2件のフィードバック

コメントは受け付けていません。