Amazon OpsWork を使用して Web アプリケーションをデプロイする予定です。アーキテクチャに設計上の欠陥があるかどうかを確認したかったのです。
4 つのコンポーネントがあります。
- ロードバランサー (できれば Amazon)
- Node.js に基づく Express
- モンゴDB
- エラスティックサーチ
コンポーネントの通信図は次のとおりです。
フロントには、http リクエストを複数の Web サーバーに分散するロード バランサーがあります。
Web サーバーはステートレスであるため、負荷が必要になるたびにクローンを作成できます。すべての Web サーバー インスタンスは同等です。セッション情報は MongoDB に保存されます。
「バックエンド」では、MongoDB と ElasticSearch の組み込みクラスター機能を使用する予定です。したがって、各 Web サーバー インスタンスは、単一の MongoDB および ElasticSearch マスター インスタンスにのみ接続します。その後、MongoDB と ElasticSearch はそれに応じてスケーリングされます。さらに、ElasticSearch マスターは MongoDB マスターと通信して、インデックスを構築するためのデータを取得します。
このようなシステムをセットアップするための最も困難なタスクは、MongoDB と ElasticSearch クラスターを使用して OpsWorks を構成することです。
よろしくお願いします!