4.3. サポートされている MongoDB トポロジー
MongoDB コネクターは、さまざまな MongoDB トポロジーと使用できます。
4.3.1. MongoDB レプリカセット
MongoDB コネクターは単一の MongoDB レプリカセットから変更をキャプチャーできます。実稼働レプリカセットには 少なくとも 3 つのメンバー が必要です。
MongoDB コネクターをレプリカセットで使用するには、コネクターの mongodb.hosts
プロパティーから 1 つ以上のレプリカセットサーバーの アドレスをシードアドレス として指定します。コネクターは、これらのシードを使用してレプリカセットに接続します。その後、接続すると、レプリカからメンバーの完全セットと、どのメンバーがプライマリーになります。コネクターは、プライマリーに接続するためのタスクを開始し、プライマリーの oplog からの変更を取得します。レプリカセットが新しいプライマリーを選択すると、タスクは自動的に新しいプライマリーに切り替わります。
MongoDB がプロキシー(OS X や Windows の Docker など)での前にある場合、クライアントがレプリカセットに接続してメンバーを検出すると、MongoDB クライアントはプロキシーを有効なメンバーとして除外し、プロキシーを通過せずに直接メンバーへの接続を試みます。
このような場合は、コネクターのオプションの設定プロパティーをに mongodb.members.auto.discover
設定 false
し、コネクターにメンバーシップの検出を指示し、代わりに最初のシードアドレス( mongodb.hosts
プロパティーで指定)をプライマリーノードとして使用するだけです。これは機能しますが、選択を行う際に問題が発生します。