Subscriber-only nodes and groups#
サブスクライバー専用ノード#
名前が示すように、サブスクライバー専用ノードは、クラスター内の他のノードからのレプリケーション変更のみをサブスクライブします。ただし、他のノードはsubscriber-only
ノードからレプリケーションの変更を受信しません。これは、ロジカルスタンバイノードに似ています。ただし、ロジカルスタンバイとは対照的に、subscriber-only
ノードはクラスターに完全に参加しています。これらは、クラスター内の他のすべてのノードからレプリケーションの変更を受信できるため、クラスター内の1つのノードの使用不可または分離の影響を受けません。
subscriber-only
ノードは完全に参加したPGDノードであるため、レプリケートされたすべてのDDLを受信し、それらに基づいて動作します。また、Raftを使用して、クラスター内のすべてのノードにそのステータスを一貫して報告します。
subscriber-only
ノードにはRaftの投票権がないため、Raftリーダーになることも、リーダー選挙に参加することもできません。また、レプリケートされたDDLを受信しますが、
DDLまたはDMLロックの取得に参加しません。つまり、現在ダウンしているsubscriber-only
ノードは、DMLロックの取得を停止しません。
subscriber-only
ノードは、PGDツリートポロジのビルディングブロックを形成します。このトポロジでは、少数の完全にアクティブなノードが全方向に変更を複製しています。多数のsubscriber-only
ノードは変更のみを受信しますが、クラスター内の他のノードに変更を送信することはありません。このトポロジは、ノードの数が多いことによる接続の爆発を回避しながら、データの使用に使用できる非常に多くのleaf
ノードを提供します。
購読者専用グループ#
subscriber-only ノードを利用するには、最初にsubscriber-only
タイプのPGDグループを作成します。メンバノードがレプリケーションの変更を受信するグループのサブグループにします。サブグループを作成したら、subscriber-only
ノードになるすべてのノードがサブグループに参加する必要があります。
subscriber-only
タイプの複数のサブグループを作成でき、それらは異なる親グループを持つことができます。
ノードがsubscriber-only
サブグループに参加すると、subscriber-only
ノードになり、親グループのレプリケーション変更の受信を開始します。
subscriber-only ノードで直接行われた変更は複製されません。
特定のタイプのサブグループを作成し、特定の親グループに属する方法を知るため。
注釈
subscriber-only ノードはクラスター内のノードに変更をレプリケートしないため、ノードがクラスターから分離されるときにレプリケーション変更を同期するソースとして機能できません。ただし、 subscriber-only ノードが、現在クラスター内の他のノードが持っていない分割ノードからレプリケーション変更を既に受信および適用している場合、ノード間で不一貫性が発生します。
今のところ、 bdr.standby_slot_names を設定することによりこれを解決できます
と bdr.standby_slots_min_confirmed
そのため、subscriber-only
ノードの前に完全にアクティブなPGDノードが常に存在します。
!!!