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ノードが常に存在します。

!!!