今回は、言葉だけだと非常に分かり難い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 0.0.1をリリースしてみた
- mod_mrubyの新機能を実装したのとmrubyではまった所
- Apache2.4で mod_mruby vs mod_lua ベンチマーク対決
- mod_mrubyの逆襲(mod_luaよりパフォーマンス良くなったよ)
- なぜApacheにmrubyを組み込もうと思ったか
上から順に時系列でならべました。少し量が多いですが、これまでのmod_mruby開発の流れが分かると思います。
「mod_mrubyとApache(Nginx)の関係を図示してみた」への2件のフィードバック
コメントは受け付けていません。