MongoDB ドライバーは サーバー選択アルゴリズムを使用して、使用するレプリカセット メンバーを選択します。または、複数の mongosインスタンスに接続している場合は、使用するmongosインスタンスを選択します。
サーバーは操作ごとに 1 回選択されます。
このページの情報は、次の環境でホストされている配置に適用されます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
注意
読み取り操作を含む分散トランザクションでは、読み込み設定(read preference) primary を使用する必要があります。特定のトランザクション内のすべての操作は、同じノードにルーティングする必要があります。
レプリカセットの読み込み設定 (read preference)
サーバーは操作ごとに 1 回行われ、メンバーの読み取り資格を決定するために 読み込み設定( read preference )とlocalThresholdMS設定によって制御されます。 読み込み設定 (read preference) は、操作ごとに再評価されます。
読み込み設定(read preference)モード | 選択プロセス |
|---|---|
|
|
| |
| |
| |
|
シャーディングされたクラスターの読み込み設定 (read preference)
ロード バランシング
接続シードリストに複数のmongosインスタンスがある場合、ドライバーはどのmongosが「最も近い」ノード(平均ネットワーク ラウンド トリップ時間が最も低いノード)であるかを判断し、次のようにレイテンシ ウィンドウを計算します。この「最も近い」 mongosインスタンスとlocalThresholdMSの平均ラウンド トリップ時間。 ドライバーは、レイテンシ ウィンドウ内のmongosインスタンス全体でランダムに負荷分散されます。
読み込み設定(read preference)とシャード
レプリカセット シャードを持つシャーディングされたクラスターの場合、 mongosはシャードから読み取るときに読み込み設定(read preference)を適用します。 サーバーの選択は、 読み込み設定( read preference ) とreplication.localPingThresholdMs設定によって決まります。 読み込み設定 (read preference) は、操作ごとに再評価されます。
読み込み設定(read preference)モード | 選択プロセス |
|---|---|
|
|
| |
| |
| |
| [1] | ( 1 、 2 )デフォルトのしきい値は 15 ミリ秒です。 |