e コマース サイトをホストするためのクラウド サービスを研究しています。そして、私は彼らが物事をどのようにスケーリングできるかについてのいくつかの基本を理解しようとしています.
AWS、Rackspace などのドキュメントから収集できるものから:
セットアップ 1: Web サーバー (AWS - EC2、Rackspace - Cloud Server) のインスタンスを取得できます。次に、そのインスタンスを成長させてより多くのリソースを確保したり、そのインスタンスのレプリカを作成してより多くのトラフィックを処理したりできます。そして、これらのインスタンスにローカルにデータベースをインストールできるようです。
セットアップ 2: Web サーバー (AWS - EC2、Rackspace - Cloud Server) のインスタンスを作成できます。データベース (AWS - RDS、Rackspace - Cloud Database) のインスタンスを作成することもできます。したがって、Web サーバー インスタンスは、単一のアクセス ポイントを介してデータベース インスタンスと通信できます。
インスタンスという用語を使用するときは、単一のアクセス ポイントを介してアクセスできるレプリカを考えているだけで、データはバックグラウンドで各レプリカ間で同期されます。これは間違ったイメージかもしれませんが、私が今得た最高のものです。
セットアップ 2 がどのように拡張可能かを理解できます。Web サーバー インスタンスはソース コードにすぎないため、まったく変更されません。そのため、すべての http 要求はさまざまな Web サーバー インスタンスに分散され、負荷が分散されます。また、データ クエリには単一のアクセス ポイントがあり、さまざまなデータベース インスタンスに分散され、負荷が分散されます。すべてのデータ書き込みは、アプリケーション/ウェブサーバー インスタンスに対して透過的なすべてのデータベース インスタンス間で同期されます。
しかし、セットアップ 1 の場合、各 Web サーバー インスタンス内でローカルにデータベースがセットアップされている場合、他の Web サーバー インスタンスに対してローカルな他のデータベース間でデータを同期するにはどうすればよいでしょうか? 各 Web サーバーのインスタンスは互いに通信できないため、複数のインスタンスをスピンアップしてアプリをスケーリングするにはどうすればよいでしょうか? この設定は主に、データベース内のデータが変更されない静的コンテンツを含むサイト向けですか? では、注文がデータベースに書き込まれる e コマース サイトでは、このアーキテクチャは現実的ではないのでしょうか? または、各 Web サーバー インスタンスを取得してローカル データベースをマスター コピーに更新する方法はありますか?
このような単純な質問で申し訳ありません。非常に単純であるか、正しいドキュメント/ページを見つけることができなかったため、ドキュメントには明確に記載されていないと思います。
お時間をいただきありがとうございます!
更新: 質問をここに移動しました:
https://webmasters.stackexchange.com/questions/32273/cloud-architecture