これは私がいつも疑問に思っていたものです。水平スケーリングとは、マシンをさらに追加することであると理解しています。しかし、これには2つのアプローチが考えられます。使用したいサーバーが20台(およびデータベース)あるとします。私は出来ます:
- 20台すべてのサーバーをアプリケーションサーバーとして実行します。
- さまざまなサーバーにタスクのさまざまな部分を実行させます。たとえば、あるサーバーセットで要求を処理し、次に別のセットでビジネスロジックを適用し、別のセットでデータベース呼び出しを行うようにします。
1番はより一般的で理解しやすいようですが、2番は「ベストプラクティス」と見なされているようです(ほとんどがn層アーキテクチャであるため)。これら2つのモデルからどのように選択しますか?そして、それぞれのアプローチの長所と短所は何ですか?