
329
10
章
スケーラビリティと
アーキテクチャ
その昔、
Node
は主にノンブロッキングのサーバとしての存在でした。実際、元の名前は
web.js
だっ
たくらいです。作者の
Ryan Dahl
はこのプラットフォームの潜在能力にすぐ気づいてツールによる拡張
を開始し、どのような種類のサーバサイドアプリケーションでも、この
JavaScript
とノンブロッキング
の組み合わせというパラダイムの上に構築できるようにしました。
Node
のこの特徴は、ネットワーク
を介して組織的に協働するノードによって構成されるような、分散システムの実装に最適です。
Node
はもともと分散されるように作られているので、他のウェブプラットフォームとは違って、
Node
開発
者にとってスケーラビリティという言葉はアプリケーションの開発の非常に早い段階で意識されるもの
です。その主な理由は、シングルスレッドであるためにすべてのリソースが活用できないか
らとされま
すが、もっと深い理由があることもしばしばです。この章でこれから見ていくように、アプリケーショ
ンのスケーリングはただ単にキャパシティを増やしリクエストの処理速度を向上させるというだけの話
ではなく、高度の可用性とエラー耐性を達成するために必要不可欠な過程でもあります。驚くべきこと
に、アプリケーションの複雑さをより扱いやすい大きさに分解するための方法にもなりうるのです。ス
ケーラビリティには複数の面がありますが、正確には
6
つ面があります。つまり立
キ ュ ー ブ
方体の面と同じです
−
そこ