Elasticsearch-整合性の原則とクォーラムメカニズムの詳細な分析を記述します(スタディノート)

(1)書き込みの整合性整合性には次のモードがあります:
put / index / tyep / idなどの追加、削除、変更、およびチェック操作を送信するときの1つ(プライマリシャード)、すべて(すべてのシャード)、クォーラム(デフォルト)、整合性パラメーターを指定して、書き込みたい整合性を示すことができます。
例:put / index / type / id?consistency = quorum
one:主にシャードがある限り、この操作を記述する必要があります。アクティブで使用可能、実行可能;
all:この操作を実行する前に、すべてのプライマリシャードとレプリカシャードがアクティブ
である必要があります;クォーラム:すべてのシャードを必要とするデフォルト値、ほとんどのシャードは次のようにする必要がありますアクティブで利用可能な場合にのみ実行されます。

(2)クォーラムメカニズム:書き込む前に、ほとんどのシャードが使用可能であることを確認する必要があります。int((primary + number_of_replicas)/ 2)+ 1、number_of_replicas> 1の場合にのみ有効になります。int
((primary + number_of_replicas)/ 2)+1計算式の例:
3つのプライマリシャード、number_of_replicas = 1、合計6つのシャード、quorum = int((3 + 1)/ 2)+1 = 3、つまり6つのうち少なくとも3つシャードはアクティブである必要がありますこの操作は、状態にある場合にのみ実行できます。

(3)ノードの数がクォーラムの数より少ない場合、クォーラムが不完全になり、書き込み操作を実行できなくなる可能性があります
。3つのプライマリシャード、レプリカ= 1、少なくとも3つのシャードが必要です。アクティブで、3つのシャードが以前に学習したシャードとレプリカのメカニズムに従います。異なるノードに存在する必要があります。マシンが2つしかない場合、3つのシャードを完全に割り当てることはできません。このとき、書き込み操作は正常に実行されない可能性があります。

esは、number_of_replicas> 1の場合にのみ有効になる特別なシナリオを提供します。プライマリシャードが1つしかない場合、replica = 1の場合、2つのシャードがあります。quorum=((1 + 1)/ 2 + 1)= 2、 2つのシャードがアクティブである必要がありますが、esクラスターにはノードが1つしかない場合があり、この時点で1つのシャードがアクティブですが、特別な処理を行わないと、単一ノードクラスターが機能しなくなります。

(4)クォーラムが完了していない場合は、待機します。デフォルトは1分、タイムアウト、100、および30秒
です。待機期間中にアクティブなシャードの数を増やすことができます。最後に、失敗した場合はタイムアウトになります。書き込み時にタイムアウトパラメータを追加できます。たとえば、put / inex / tyep / id?timeout = 30のように、クォーラムを設定してタイムアウト期間を指定できます。これにより、短縮または延長できます。

おすすめ

転載: blog.csdn.net/Micheal_yang0319/article/details/106975600