Docs Menu
Docs Home
/
MongoDB Cluster-to-Cluster Sync

会社概要 mongosync

項目一覧

  • 詳細
  • ソースクラスターと宛先クラスターの接続
  • 同期の開始
  • 同期の一時停止
  • 同期を終了する
  • 逆同期
  • 詳細

mongosync バイナリは、Cluster-to-Cluster Syncで使用されるプライマリmongosync プロセスです。 はソースクラスターから宛先クラスターにデータを移行し、 が同期を完了するまでクラスターを継続的に同期させます。データの継続的な同期に加えて、mongosync はクラスター間の 1 回限りのデータ移行も実行できます。

mongosync は、状態を通じて現在のアクションを追跡します。 mongosyncは、受信したリクエストに応じて異なる状態になります。 現在のmongosync状態によって、実行できる API 操作が決まります。

注意

ほとんどの状態移行は、API 呼び出しの結果として発生します。 例外は次のとおりです。

mongosyncの現在の状態を表示するには/progressエンドポイントを使用します。

次の図は、 mongosyncの状態と API 操作の関係を示しています。

``mongosync`` の状態と API 操作の関係の図
クリックして拡大します

よくある質問(FAQ) ページでは、mongosync に関してユーザーからよく寄せられた質問を取りあげています。

mongosyncがデータの同期を開始する前に、ソースクラスターと宛先クラスターへの初期接続を作成する必要があります。 詳しくは、「 mongosyncの接続 」を参照してください。

mongosyncがソースクラスターと宛先クラスターに接続すると、同期プロセスはIDLE状態になります。

同期プロセスを開始するには、開始エンドポイントを呼び出します。

startエンドポイントはRUNNING状態を開始します。この状態は、 mongosyncがソースクラスターから宛先クラスターにデータを同期するときです。 ソースクラスターに後続の書き込みを行うと、 mongosyncは宛先クラスターに操作を適用します。

同期するソース コレクションごとに、 mongosyncは宛先に対応するコレクションを作成します。

mongosync は、宛先クラスター内の複製されたコレクションの特性の一部を一時的に変更します。 これらの宛先クラスターの特性は、 COMMIT状態中にソースクラスターの特性に戻ります。 詳細については、「コレクションの特性変更 」を参照してください。

RUNNING状態には次の 2 つのフェーズが含まれています。

コレクションのコピー フェーズ中に、 mongosyncはソースクラスターから宛先クラスターへの初期データ転送を実行します。 mongosyncは、ソース コレクションをパーティションに分割し、パーティションを対応する宛先コレクションにコピーすることで、このデータ転送を実行します。

変更イベント アプリケーション(CEA)フェーズは、コレクションのコピー フェーズが終了した後に開始されます。

CEA フェーズ中、ソースクラスターに変更を加えると、 mongosyncは宛先クラスターを継続的に更新します。

宛先クラスターに継続的な更新を行うため、 mongosyncはソースクラスターで変更ストリームを開き、受信した変更イベントを宛先クラスターに適用します。

CEA フェーズが開始されると、 mongosyncはコレクション コピー フェーズ中に受信した変更イベントを適用してから、CEA フェーズ中に受信したイベントを処理します。

同期プロセスを一時停止してPAUSED状態になるには、一時停止エンドポイントを呼び出します。

一時停止した同期プロセスを再開して、 mongosyncRUNNING状態に戻すには、再開エンドポイントを呼び出します。

ソースクラスターと宛先クラスター間の同期を終了するには、コミットエンドポイントを呼び出します。

注意

コミット プロセスを開始する前に、ソースクラスターへの書込みをブロックする必要があります。

以前に開始エンドポイントを使用するときに enableUserWriteBlockingtrue に設定した場合、mongosync エンドポイントを使用すると、commit はソースクラスターへの書込みを自動的にブロックします。

enableUserWriteBlockingtrue setUserWriteBlockModeに設定しなかった場合は、ソースクラスターで を実行して書込みをブロックします。

commitエンドポイントはCOMMITTING状態を開始します。この状態は、 mongosyncがソースクラスターと宛先クラスター間の継続的な同期を停止したときです。

COMMITTING状態が開始されると、 mongosyncはコミット タイムスタンプを検索します。これはソースクラスタでの最新の操作の時刻です。

エラーがない場合、 mongosyncは成功メッセージを送信し、コミット タイムスタンプまでイベントを処理して CEA を終了します。 mongosyncは、同期中にmongosyncが一時的に変更したコレクションの特性も復元します。

上記のプロセスが完了すると、 mongosyncCOMPED状態になります。 COMMITTED状態は、カットオーバー プロセスが完了したことを示します。

コミットされた同期操作の方向を逆にするには、エンドポイントを呼び出します。

reverseエンドポイントによってRESTING状態が開始されます。 mongosyncはソースクラスターと宛先クラスターをスワップし、変更イベントの適用を再開します。

逆同期が成功すると、 mongosyncRUNNING状態になります。 同期は、元の同期ジョブとは逆方向に続行されます。

mongosyncの詳細については、以下をご覧ください。

戻る

クイックスタート