Removing nodes and groups#

PGDグループからのノードの削除#

PGDは、長期のノードの停止から復旧するように設計されているため、ノードを完全に削除するかどうかをシステムに明示的に指示する必要があります。ノードを完全にシャットダウンし、他のノードに通知しない場合、パフォーマンスが低下し、最終的にシステム全体が動作を停止します。

ノードの削除は parting とも呼ばれ、

bdr.part_node() を使用して実行されます

ファンクション。ノードを削除するには、ノードの作成中に渡されるノード名を指定する必要があります。

bdr.part_node() ファンクションは、削除するノードを含む、PGDグループのアクティブなノードから呼び出すことができます。

参加手順と同様に、分割はRaftコンセンサスを使用して実行され、動作するにはノードの大部分がオンラインである必要があります。

分離プロセスはすべてのノードに影響を与えます。 Raftリーダーはノード間の投票を管理して、どのノードが分離ノードからの最新のデータを持つかを確認します。次に、残りのすべてのノードが最新のノードへのセカンダリの一時的な接続を作成して、不足しているデータをキャッチアップできるようにします。

分離されたノードは引き続きPGDに知られていますが、リソースを消費しません。ノードは、分割されたノードと同じ名前で再度追加される場合があります。まれに、ファンクション

bdr.drop_node()

を使用して、分割されたノードのすべてのメタデータをクリアすることが必要になる場合があります。

PGDグループ全体の削除#

通常、PGDグループは場所にマッピングされます。ロケーションが展開されない場合、そのロケーションのPGDグループも削除する必要がある可能性があります。

削除されるPGDグループは空である必要があります。グループを削除する前に、グループ内のすべてのノードを分割する必要があります。