内容 : リクエスト配信の問題とシステムのトラブルについて。
最近、実稼働サーバーで MongoDBSharding を構成し、詳細を以下に示します。
mongo シャーディング構成の目的で、3 台の個別のマシンを使用しました。
- 最初のマシン - (shard1 プライマリ + shard2 セカンダリ + shard2 アービター) + 構成
- 2 番目のマシン - (shard2 プライマリ + shard1 セカンダリ + shard1 アービター) + 構成
- 3 台目のマシン - 構成
私はNODE.JSサーバー以上のものを持っています。したがって、各NODEサーバーでチャンクサイズ5 MBのmongosを開始しました(たとえば、各NODEサーバーで6つのNODEサーバーと6つのmongosインスタントを取得しました)。
mongos でシャーディング設定を構成した後、データベースを 1 つ作成し、それが "shard2" でプライマリとして自動的に取得されました。
しかし、私の問題は、NODE.JS から取得している両方のシャーディングにリクエストを分散できないことでした。これは、shard2 がそのデータベースのプライマリとして自動的に取得されるためです。したがって、すべてのリクエストは shard2 インスタントのみにヒットします。そのため、2 台目のマシンが負荷の問題で問題を抱え、CPU 使用率が高くなります。
この種の問題を修正するための意見と提案を共有してください。
ダイアグラム
クライアント -> NODE.JS サーバー -> MONGODB [最初のマシン + 2 番目のマシン + 3 番目のマシン]