Witness nodes#
監視ノードは、データノードとして機能するが、データを保存または複製しない軽量ノードです。これは、Raftコンセンサスを使用するPGDクラスターが奇数の投票ノードを持つことができるため、決定を行うときにマジョリティを達成できるようにするために使用されます。
PGDグループまたはリージョン内のWitnessノード#
監視ノードの一般的な使用の1つは、 PGDグループに2つのデータノードがあるが、推奨される3つのデータノードでリソースを利用できない場合です。この場合、監視ノードをPGDグループに追加して、ローカルのRaft意思決定に3番目の投票ノードを提供できます。これらの決定は、主に使用するプロキシの書き込みリーダーを誰が選択するかに関するものです。 2つのノードのみでは、どのデータノードが書き込みリーダーになるかについてコンセンサスが存在しない可能性があります。 2つのデータノードと監視1つの場合、通常は2つの候補者データノードと3つの有権者データノードと監視者が存在し、データノードがダウンしている場合でも、書き込みを選択できる2人の有権者が存在します。リーダー。
リージョン外のWitnessノード#
より高いレベルでは、異なるリージョンにマッピングされた複数のPGDグループが存在する場合、監視ノードを使用できます。たとえば、2つのリージョンのリージョンごとに3つのデータノードがある場合、通常に実行すると、6つのデータノードすべてがRaft決定に参加し、 DDLおよびDMLグローバルロックを取得できます。データノードがダウンしている場合でも、コンセンサスを取得するための十分なデータノードが存在します。しかし、ネットワークの分割が発生し、他のリージョンとの接続が失われると、使用可能な6つのノードのうち3つしかありません。これはコンセンサスには十分ではありません。このシナリオを回避するには、3番目のリージョンの監視ノードをPGDクラスターの一部として展開できます。この監視ノードにより、リージョンが利用できないときにPGDクラスターのほとんどの操作要件でコンセンサスを達成できます。