MongoDBのオートシャーディングは、大容量ストレージと動的スケーリングの問題を解決しますが、実際の本番環境で求められる高信頼性と高可用性にはまだ少し遠いので、「レプリカセット+シャーディング」というソリューションがあります。
1、シャーディング
レプリカセットを使用して、各データノードがバックアップ、自動フォールトトレランス転送、自動リカバリ機能を持つようにします。
2、コンフィグ。
3つの構成サーバーを使用して、メタデータの整合性を確保します。
3、Route。
3つのルーティングプロセスを使用して負荷分散を行い、クライアントアクセスのパフォーマンスを向上させます。
レプリカセット+シャーディング環境のアーキテクチャ図は以下の通りです。
開いているポートは以下の通りです。
データカタログの作成
サーバーAで
サーバーBで
サーバーCで
レプリカセットの構成
1.シャード1が使用するレプリカセットを構成します。
サーバーAで
サーバーBで
サーバーCで
mongo で接続しているマシンのひとつで、ポート 27017 の mongod でレプリカセット "shard1" を初期化します。
シャード2のレプリカセットの構成
サーバーAで
サーバーBで
サーバーCで
mongoが入っているマシンのポート27018でmongodに接続し、Replica Sets "shard2 "を初期化し、実行します。
3台のコンフィグサーバーの設定
サーバーA、B、Cで実行します。
3つのルートプロセスの設定
サーバA、B、Cで実行します。
シャードクラスターの設定
データベースとコレクションのシャーディングの有効化
シャーディングが正しく機能していることを確認
あるマシンのポート 30000 で mongos プロセスに接続し、テスト用データベースに切り替えてテスト用データを追加します。
シャーディングは、期待される結果と一致した成功した構築であることがわかるので、レプリカセットとシャーディングの
Replica SetsとShardingの組み合わせのアーキテクチャを学びました。
この記事は"phper - a little bit every day ~"ブログからのものです。





