読み込み設定 (read preference)
Overview
リンクされた MongoDB Atlas クラスター の 読み込み設定( read preference ) を構成して、Atlas App Services がデータベース読み取りリクエストをルーティングする レプリカセット ノードのタイプを制御できます。また、タグセットを指定して、レプリカセットの特定のノードを対象にすることもできます。
フェデレーティッド データソースでは読み込み設定 (read preference) を設定できません。
デフォルトでは、App Services は primary
の読み込み設定(read preference)を使用します。これにより、すべての読み取りリクエストはレプリカセットのプライマリ ノードを介してルーティングされます。
読み込み設定(read preference)を指定する場合
デフォルトの読み込み設定( primary
)は、ほとんどのユースケースで十分有効です。 次の操作を行う必要がある場合は、クラスターの読み込み設定(read preference)を指定することを検討してください。
ワークロードのレポート作成用に最適化された特別なインデックスを持つ分析ノードなど、カスタム構成を持つ特定のセカンダリから読み取ります。
グローバルに分散されたレプリカセットの特定のリージョンのノードから読み取ります。
レプリカセットのフェイルオーバー中に読み取りの可用性を維持します。つまり、
primary
ノードがない場合は古い可能性のあるデータを読み取り続けます。
手順
クラスターの読み込み設定(read preference)を指定する
クラスター構成画面で、 Read Preferenceドロップダウンからモードを選択します。
次の読み込み設定 (read preference) モードが利用可能です。
モード | 説明 |
---|---|
App Services はすべての読み取り操作を現在のレプリカセットプライマリ ノードにルーティングします。 これは、デフォルトの読み込み設定 (read preference) モードです。 | |
App Services は、すべての読み取り操作を現在のレプリカセットのプライマリ ノードにルーティングします(使用可能な場合)。 自動フェイルオーバー中などプライマリが使用できない場合は、代わりに読み取りリクエストはセカンダリ ノードにルーティングされます。 | |
App Services は、すべての読み取り操作を現在のレプリカセットのセカンダリ ノードの 1 つにルーティングします。 | |
App Services は、クライアントと比較してネットワーク レイテンシが最も低いレプリカセット メンバーに読み取り操作をルーティングします。 |
読み込み設定(read preference)タグを指定する
primary
以外の読み込み設定(read preference)を指定する場合は、1 つ以上の読み込み設定( read preference)タグも指定できます。 読み取りリクエストを処理するには、レプリカセットノードは、指定されたすべての読み込み設定(read preference)タグをノード構成に含める必要があります。
注意
Atlas クラスター タグセット
MongoDB Atlasクラスターは、ノードのタイプに応じて、各ノードに対して事前定義されたタグセットを使用して構成されます。 Atlas クラスターで定義されているノードの詳細については、「 Atlas レプリカセット タグ 」を参照してください。
読み込み設定(read preference)タグを指定するには、 Add Tagをクリックし、 Read Preference Tagsテーブルの新しい行にタグのKeyとValueを入力します。
アプリの最新バージョンを取得する
App Services CLIを使用してリンクされたクラスターの読み込み設定(read preference)を定義するには、アプリケーションの構成ファイルのローカル コピーが必要です。
アプリの最新バージョンのローカルコピーを取得するには、次のコマンドを実行します。
appservices pull --remote="<Your App ID>"
Tip
App Services UI のDeploy > Export App画面からアプリケーションの構成ファイルのコピーをダウンロードすることもできます。
クラスターの読み込み設定(read preference)を指定する
連結クラスターの読み取り設定を構成するには、クラスターのconfig.json
ファイルを開き、 config.readPreference
の値を設定します。
{ "name": "<MongoDB Service Name>", "type": "mongodb-atlas", "config": { "readPreference": "<Read Preference Mode>" } }
次の読み込み設定 (read preference) モードが利用可能です。
モード | 説明 |
---|---|
App Services はすべての読み取り操作を現在のレプリカセットプライマリ ノードにルーティングします。 これは、デフォルトの読み込み設定 (read preference) モードです。 | |
App Services は、すべての読み取り操作を現在のレプリカセットのプライマリ ノードにルーティングします(使用可能な場合)。 自動フェイルオーバー中などプライマリが使用できない場合は、代わりに読み取りリクエストはセカンダリ ノードにルーティングされます。 | |
App Services は、すべての読み取り操作を現在のレプリカセットのセカンダリ ノードの 1 つにルーティングします。 | |
App Services は、クライアントと比較してネットワーク レイテンシが最も低いレプリカセット メンバーに読み取り操作をルーティングします。 |
読み込み設定(read preference)タグを指定する
primary
以外の読み込み設定(read preference)を指定する場合は、1 つ以上の読み込み設定( read preference)タグも指定できます。 読み取りリクエストを処理するには、レプリカセットノードは、指定されたすべての読み込み設定(read preference)タグをノード構成に含める必要があります。 クラスターに読み込み設定(read preference)タグセットを指定するには、 primary
以外のreadPreference
を指定していることを確認し、1 つ以上のタグ定義オブジェクトをconfig.readPreferenceTagSets
に追加します。
{ "name": "<MongoDB Service Name>", "type": "mongodb-atlas", "config": { "readPreference": "<Read Preference Mode (other than primary)>", "readPreferenceTagSets": [ { <Tag Key>: <Tag Value> }, ... ], } }
注意
Atlas クラスター タグセット
Atlas クラスターは、ノードのタイプに応じて、各ノードに対して事前定義されたタグセットを使用して構成されます。 Atlas クラスターで定義されているノードの詳細については、「 Atlas レプリカセット タグ 」を参照してください。