Witness nodes#

監視ノードは、データノードとして機能する軽量ノードですが、データを保存または複製しません。監視ノードを使用して、Raftコンセンサスを使用するPGDクラスターが奇数の投票ノードを持つようにできるため、決定を行うときにマジョリティを達成できます。

PGDグループまたはリージョン内のWitnessノード#

監視ノードの一般的な使用の1つは、 PGDグループに2つのデータノードがあるが、推奨される3つのデータノードでリソースが利用できない場合です。この場合、監視ノードをPGDグループに追加して、ローカルのRaftの意思決定に3番目の投票ノードを提供できます。これらの決定は、主に使用するプロキシの書き込みリーダーを誰が選択するかに関するものです。 2つのノードのみでは、どのデータノードが書き込みリーダーであるかについてコンセンサスがない可能性があります。 2つのデータノードと監視者がある場合、2人の候補者データノードと3人の有権者データノードと監視者が存在します。データノードがダウンしている場合、書き込みリーダーを選択できる投票者はまだ2人います。

リージョン外のWitnessノード#

より高いレベルでは、複数のPGDグループが異なるリージョンにマッピングされている場合、監視ノードを使用できます。たとえば、2つのリージョンのリージョンごとに3つのデータノードがある場合、通常に実行されている間、6つのデータノードすべてがRaft決定に参加し、 DDLおよびDMLグローバルロックを取得できます。データノードがダウンしている場合でも、コンセンサスを取得するための十分なデータノードが存在します。しかし、ネットワーク分割が発生し、他のリージョンとの接続が失われると、6つのノードのうち3つのノードのみが利用できますが、これはコンセンサスには十分ではありません。このシナリオを回避するには、PGDクラスターの一部として3番目のリージョンに監視ノードを展開できます。この監視ノードにより、リージョンが利用できないときにPGDクラスターのほとんどの操作要件でコンセンサスを達成できます。