2017-08-25 5 views
0

私は弾力的な文書を読んでいて、次の通りです:linkデフォルトルーティングを使用したドキュメント取得要求が、弾性クラスタ内の任意のノードに移動する理由を教えてください。

ポイント1と2で、「要求はノード1に行きます」というメッセージが表示されます。ノード1はそのドキュメントがノード0に属していることを検出します。

デフォルトのルーティングはドキュメントの_idで行われるので、リクエスト自体はノード0にルーティングされません(デフォルトルーティングに基づく)。 要求がノード1に送信される理由(ドキュメントはノード0にあることがわかります)

要求がdocuemntが属するノードに直接上陸した場合、このノードはロードバランシング(必要に応じてレプリカシャードへの要求の移動)を行っている必要があります。

答えて

0

あなたは正しいです。最初の観察では無駄な再ルーティングが起こります。ただし、ホットスポットを防ぐため、デフォルトでは、リクエストはラウンドロビン方式で3つのシャードのいずれかにルーティングされます。

クラスタノードの1つにそのクライアントを使用して接続しているとしたら、そのノードだけを照会し、他のノードを十分に活用しない可能性があるとします。これがデフォルトではラウンドロビンなのはこのためです。

ただし、preferenceパラメータを_local

に設定して動作を変更することはできます
関連する問題