
間違った用語を使っていたらご容赦ください。質問を検索してみましたが、検索できるほど簡単な言葉で表現する方法がよくわかりませんでした。この郵便受けそしてこの郵便受けこれらは関連性はありますが、私の質問に正確には答えていません。
多数のサーバーで実行する必要がある Web サイトの場合、アプリケーション コード自体はどのように保存および管理されますか (データベースは除きます)? 簡単にするために、serverfault.com には 10 台のサーバーがあるとします。これらの 10 台のサーバーすべてにまったく同じコードが入っていますか、それともコードの特定の部分が複数のサーバーに分割されていますか? すべてのサーバーにまったく同じコードが入っている場合、管理者はサーバーにまったく同じコードが入っていることを確認するためにどのようなツールを使用しますか? 1 台のサーバーにたまたま異なるコードが入っていると、問題が発生する可能性は考えられます。
さて、データベースについてですが...SQL ベースのストレージ システムに大量のデータがある場合、それはどのように管理されるのでしょうか? テーブル自体は複数のサーバーに分割されていますか? それとも、一般的には、テーブル ユーザーはこのサーバーに、テーブル 投稿はこのサーバーに、といった感じでしょうか? Facebook や Twitter のような巨大企業では、これをどのように処理しているのでしょうか?
AWS マイクロインスタンス上の Ubuntu で Apache を実行する最初のサーバーをセットアップしました。これを試すためにチェックできる無料ツールはありますか? AWS でロード バランサーを見つけましたが、説明はロード バランサーを実行する方法に関するもので、データ自体の保存方法や取得方法に関するものではありません。
ありがとう
答え1
これはロード バランシングと呼ばれるものです。ロード バランサは、まったく同じコードがロードされている複数のサーバーにリクエストをリダイレクトします。
データベースに関しては、通常、複数のサーバーへのデータベースのレプリケーションと、複数のデータベースへのデータの分割によって行われます。(たとえば、ユーザー A の「Facebook のもの」は DB サーバー A に保存され、ユーザー B のデータはサーバー B に保存されます)
さらに詳しく知りたい場合は、Facebook とそのアーキテクチャに関する資料を次に示します。 https://stackoverflow.com/questions/3533948/facebook-architecture
あなたのシナリオでは:
- 同じコードを複数のサーバーにロードする
- ロードバランサーを設定する