NGINXとNOSQLとPhoneGap

投稿日:2019年04月14日 16時32分02秒

スパカツとエスカロップとインデアンカレーみたいなタイトルですまない。現在興味を持ってるものですよ。ちょうどwizdLiveをwizd-0.12hくらいから再度リビルドしてるので、興味深々なのです。

NGINXとは[E]NGIN-Xの略でロシアのウェブサーバですよ。非同期I/Oを使ってApacheに比べて人数が増えたときのパフォーマンスがすばらしいとの噂です。リバースプロキシーとして使えたりするので今後この方向のサーバは増えていくではないかと思いますね。

自分がwizdLiveを書いた方針はCSPとOccamを参考にしていて、スレッドとブロッキングモードで待ち合わせすれば早いぞという方針でした。実際Apacheよりは3倍くらい早いという実績がありました。メディアサーバなので、主に動画転送が主体になります。そこで、ループじゃなくて、パケットいっぱいに読み取ったブロックを投げるという方向だったのです。ところがNGINXは真逆で、シングルスレッドでI/Oをノンブロッキングモードでキューイングするという方向です。キューはタイマーで解決するのです。静的コンテンツについてしか考えてないですが、ものすごいシンプルに実装できそうな気がしています。普通はBINDしたところで、データを読みに行くプロセスをまるっとFORKまたはCreateThreadしますね。そうじゃなくて最初からキューを読んで作業すると。作業するものがないときは、BINDしてキューに積むと。これをすごいシンプルに作ってCPUの数に合わせて立ち上げるとかどうでしょうかw

こうすると1つのWebサーバには1つのHashを割り当てたいですね。リクエスト元をHash化したコードと合致しないときは、その別プロセスのサーバにキューも含めてリダイレクトすればいいと思います。

これを実装するとある種のNoSQLになりますね。個別にSQLITEくらい入れてもいいと思います。とはいえ、まったくこれをサーバサイトで実施するのも厄介ですわ。

で、PhoneGapですよ。まだNo Ideaではありますが、上のNGINX+NoSQLのフレームワークをスマホ限定で効率よく動かす事が可能になりますよね。

スパカツとエスカロップとインデアンカレーはさすがに全部食べるのは不可能ですが、NGINX+NoSQL+PhoneGapはもしかしたら美味しいかもしれませんよ!

[<< DNSラウンドロビン]

[wgetでFTP >>]