すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:レプリカセットインスタンス

最終更新日:Jun 13, 2024

ApsaraDB for MongoDBは、レプリカセットインスタンスを自動的に作成します。 レプリカセットインスタンスのプライマリノードとセカンダリノードを管理できます。 レプリカセットインスタンスは、ディザスタリカバリやフェイルオーバーなどの高度な機能を提供します。 レプリカセットインスタンスを使用する場合、これらの高度な機能はデフォルトで有効になっています。

アーキテクチャ

Architecture

ApsaraDB for MongoDBは、マルチノードアーキテクチャを使用して高可用性を確保します。 レプリカセットインスタンスは、プライマリノード、1つ以上のセカンダリノード、隠しノード、および1つ以上のオプションの読み取り専用ノードで構成されます。 プライマリノードおよびセカンダリノードの用語は、プライマリノード、セカンダリノード、および隠しノードをカバーします。 次の表に、これらのノードを示します。

ノード

機能

説明

プライマリノード

プライマリノードは、読み取りおよび書き込み要求を処理します。

各レプリカセットインスタンスは、プライマリノードを1つだけ持つことができます。

セカンダリノード

2次ノードは、1次ノードからのデータを同期するためにoplogを使用する。 プライマリノードに障害が発生した場合、セカンダリノードを新しいプライマリノードとして選択して、高可用性を確保できます。

  • セカンダリノードの接続文字列URIを使用してレプリカセットインスタンスに接続する場合、インスタンスからのみデータを読み取ることができます。 インスタンスにデータを書き込むことはできません。

  • セカンダリノードは高可用性を提供します。 セカンダリノードに障害が発生すると、隠しノードが新しいセカンダリノードとして自動的に選択されます。 この操作が自動的に実行されない場合は、この操作を手動で実行できます。 このプロセスの後、セカンダリノードへの接続に使用される接続文字列URIは変更されません。

    説明

    詳細については、「ノードの役割の切り替え」をご参照ください。

    ノードの役割が切り替えられるたびに、インスタンスは最大30秒の一時的な接続を経験する可能性があります。 この操作は、オフピーク時に実行するか、アプリケーションが自動的に接続を再確立できることを確認することをお勧めします。

隠しノード

隠しノードは、plogsを使用してプライマリノードからのデータを同期します。 セカンダリまたは読み取り専用ノードに障害が発生した場合、高可用性を確保するために、隠しノードを新しいセカンダリまたは読み取り専用ノードとして選択できます。

  • 隠しノードは、高可用性を確保するためにのみ使用されます。 ユーザーには見えません。

  • 隠しノードはセカンダリノードリストに表示されず、プライマリノードとして選択できません。 しかしながら、隠れノードは、依然として主ノード選択に参加する。

  • 各レプリカセットインスタンスに含まれる隠しノードは1つだけです。

読み取り専用ノード

読み取り専用ノードはoplogを使用して、レイテンシが最も低いプライマリノードまたはセカンダリノードからのデータを同期します。 読み取り専用ノードを使用すると、大量の読み取り要求が存在するビジネスシナリオで、プライマリノードとセカンダリノードの読み取り負荷を軽減できます。 レプリカセットインスタンスに2つ以上の読み取り専用ノードがある場合、読み取り専用接続文字列URIを使用してこれらのノードに接続し、読み取り負荷のバランスを取ることができます。

説明

詳細については、「読み取り専用ノード」をご参照ください。

  • 読み取り専用ノードは高可用性を提供します。 読み取り専用ノードに障害が発生した場合、隠しノードは自動的に新しい読み取り専用ノードとして選択されます。 この操作が自動的に実行されない場合は、この操作を手動で実行できます。 このプロセスの後、読み取り専用ノードへの接続に使用される接続文字列URIは変更されません。

    説明

    詳細については、「ノードの役割の切り替え」をご参照ください。

    ノードの役割が切り替えられるたびに、インスタンスは最大30秒の一時的な接続を経験する可能性があります。 この操作は、オフピーク時に実行するか、アプリケーションが自動的に接続を再確立できることを確認することをお勧めします。

  • インスタンス内の読み取り専用ノードには独立した接続文字列URIがあり、プライマリノードとセカンダリノードから独立して接続できます。 読み取り専用ノードは、独立したシステムからの直接接続に適しています。

  • 読み取り専用ノードはセカンダリノードリストに表示されず、プライマリノードとして選択できません。 読み取り専用ノードは、プライマリノードの選択に参加しません。

レプリカセットインスタンスのスケールアウト

ApsaraDB for MongoDBでは、インスタンスにノードを追加できます。 ビジネスニーズに基づいて、セカンダリノードまたは読み取り専用ノードの数を増やすことができます。 詳細については、「レプリカセットインスタンスの設定の変更」をご参照ください。

説明

各レプリカセットインスタンスに含まれる隠しノードは1つだけです。 より多くのセカンダリおよび読み取り専用ノードをレプリカセットインスタンスに追加できますが、隠しノードの数を増やすことはできません。

たとえば、オンライン読書サービスを提供するWebサイトを実行したり、注文クエリを提供するシステムを実行したりするとします。 これらのウェブサイトおよびシステムは、多数の読み取り操作および少数の書き込み操作を処理する。 さらに、これらのWebサイトまたはシステムでの操作の数は、即席のイベントのために急増する可能性があります。 これらのシナリオでは、セカンダリノードまたは読み取り専用ノードを追加または削除して、レプリカセットインスタンスの読み取り機能を調整できます。