ApsaraDB for MongoDBは、レプリカセットインスタンスを自動的に作成します。 レプリカセットインスタンスのプライマリノードとセカンダリノードを管理できます。 レプリカセットインスタンスは、ディザスタリカバリやフェイルオーバーなどの高度な機能を提供します。 レプリカセットインスタンスを使用する場合、これらの高度な機能はデフォルトで有効になっています。
アーキテクチャ
ApsaraDB for MongoDBは、マルチノードアーキテクチャを使用して高可用性を確保します。 レプリカセットインスタンスは、プライマリノード、1つ以上のセカンダリノード、隠しノード、および1つ以上のオプションの読み取り専用ノードで構成されます。 プライマリノードおよびセカンダリノードの用語は、プライマリノード、セカンダリノード、および隠しノードをカバーします。 次の表に、これらのノードを示します。
ノード | 機能 | 説明 |
プライマリノード | プライマリノードは、読み取りおよび書き込み要求を処理します。 | 各レプリカセットインスタンスは、プライマリノードを1つだけ持つことができます。 |
セカンダリノード | 2次ノードは、1次ノードからのデータを同期するためにoplogを使用する。 プライマリノードに障害が発生した場合、セカンダリノードを新しいプライマリノードとして選択して、高可用性を確保できます。 |
|
隠しノード | 隠しノードは、plogsを使用してプライマリノードからのデータを同期します。 セカンダリまたは読み取り専用ノードに障害が発生した場合、高可用性を確保するために、隠しノードを新しいセカンダリまたは読み取り専用ノードとして選択できます。 |
|
読み取り専用ノード | 読み取り専用ノードはoplogを使用して、レイテンシが最も低いプライマリノードまたはセカンダリノードからのデータを同期します。 読み取り専用ノードを使用すると、大量の読み取り要求が存在するビジネスシナリオで、プライマリノードとセカンダリノードの読み取り負荷を軽減できます。 レプリカセットインスタンスに2つ以上の読み取り専用ノードがある場合、読み取り専用接続文字列URIを使用してこれらのノードに接続し、読み取り負荷のバランスを取ることができます。 説明 詳細については、「読み取り専用ノード」をご参照ください。 |
|
レプリカセットインスタンスのスケールアウト
ApsaraDB for MongoDBでは、インスタンスにノードを追加できます。 ビジネスニーズに基づいて、セカンダリノードまたは読み取り専用ノードの数を増やすことができます。 詳細については、「レプリカセットインスタンスの設定の変更」をご参照ください。
各レプリカセットインスタンスに含まれる隠しノードは1つだけです。 より多くのセカンダリおよび読み取り専用ノードをレプリカセットインスタンスに追加できますが、隠しノードの数を増やすことはできません。
たとえば、オンライン読書サービスを提供するWebサイトを実行したり、注文クエリを提供するシステムを実行したりするとします。 これらのウェブサイトおよびシステムは、多数の読み取り操作および少数の書き込み操作を処理する。 さらに、これらのWebサイトまたはシステムでの操作の数は、即席のイベントのために急増する可能性があります。 これらのシナリオでは、セカンダリノードまたは読み取り専用ノードを追加または削除して、レプリカセットインスタンスの読み取り機能を調整できます。