高速なウェブサービスのプログラミングモデルとは?

備忘録。

最近はなんだかnode.jsとかerlangとか、c10kに対応するような、いわゆるスケールするウェブサービスの話がアツいですね。
まぁ、実際のところ世のサービスのどれぐらいのパーセンテージがそういったスケーラビリティを必要としているのか不明ですが、私もちょっと書こうかな、と。

結局さっきの話で最近のはやりはnonblocking I/Oを用いたシングルプロセス・イベントループという解決策っぽいですね。
まぁ実際のところブロッキングされる処理を完全に追い出せるのならその選択肢は有効だと思います。

ただ私がちょっと最近気になるのは、CPUのコア数がガンガン増えてるこのご時世だと、少なくともコア数と同数まではイベントループを処理するプロセスを増やしたほうが処理がスケールするんではなかろうか、ということ。つーかスケールするんですけどね。問題はプログラミングモデルが複雑になるっていうことで。

これはerlang使えってことなんでしょうか。教えてエライ人。