2017-12-11 7 views
0

2つのelasticsearchクラスタ(2つの異なるデータセンター内)が「ほとんどリアルタイム」で同期されなければならないため、両方のクラスタに(NEST経由で)コマンドを送信したいと考えています。複数のelasticsearchクラスタで同じコマンドを実行するためのNESTのサポートはありますか?

注:復元を実行する前にインデックスを閉じる必要があるため、スナップショット/復元は使用しません。

複数のクラスタで同じコマンド(主に「書き込み」コマンド)を実行するネイティブサポートはありますか?

そうでない場合は、これを達成する最も良い方法は何でしょうか?

私は複数のConnectionPoolを定義周りを見回したが、私はElasticClient

ノートに複数の接続プールに合格するかどうかはわかりません:ATMは、我々はまだNEST 2.5.5を使用しますが、我々はNE​​ST 5.xのに移動することを計画すぐに

ご協力いただきありがとうございます。

答えて

1

複数のクラスタで同じコマンド(主に「書き込み」コマンド)を実行するネイティブサポートはありますか?

ConnectionSettingsを使用してあり、複数のクラスタに対してアトミック要求を実行するためのネイティブサポートはないですが、それはIElasticClientの2つのインスタンスを有することにより、複数のクラスタに対して同じ要求を実行することが可能だが、1つのクラスタに指すConnectionSettingsを用いたものや他の他のクラスタを指しています。次に、同じ要求を両方のクライアント・インスタンスに渡して実行します。

2つのクライアントに対して要求を行う必要が1つの場所で処理されるようなタイプの両方のクライアントに対して操作をカプセル化することができます。

+0

こんにちは、私は私たちがする必要があることを理解していただきありがとうございます。私はちょうど質問を "次に、両方のクライアントインスタンスに同じ要求を渡す実行します。" 「ElasticClientインスタンスごとにBulkAsync()APIを呼び出すときに、一度「ネストリクエスト」(一例としてBulkDescriptor)を作成して(再利用する)ことができますか?または、呼び出しごとにBulkDescriptorを作成する必要がありますか? – Olivier

+0

はい、バルクリクエストを1つ作成して、両方のクライアントコールに再利用することができます –

+0

ありがとうございました! – Olivier

関連する問題