apache + mod_proxy_balancer + mongrel cluster
mongrelは初期状態では単一プロセスに単一のRubyインスタンスを持ってーつのポートを占有する。
mongrel clusterを使うことによって複数のプロセスを立ち上げることができる。プロセス数の分ポートを占有する。
mod_proxy_balancerはapacheに対するアクセスをバランシングしてくれる。この場合、1つのポートに対するアクセスを複数のmongrel clusterのポートにバランシングしてくれる。
nginx + unicorn
nginx[エンジンエックス]は軽量な軽量高性能なWebサーバ/リバースプロキシ。リバースプロキシとしてapacheを立てるまでもない場合に使用すると便利。
unicornはprefork型のweb server。Unicorn masterが起動するとまずプログラミングコードロードする。その後workerをforkする。workerがいくつあってもコードのロードは1回きりなので起動が早い。nginxからはunix socket通信で対話するいわばカーネルによるロードバランシング。
参照
apache + passenger
Apacheのprefork MPMとphusion passengerの組み合わせ。passengerはapacheの動的モジュールとして提供されており、スポーンサーバにアプリケーションのコピーを要求する。forkされたworker x複数 とspawner x複数がやりとりをする形。
参照
間違いがあったら教えてください。
.