クラスター間のトラフィック
ソース・クラスターとデスティネーション・クラスター間のトラフィックは、複数データ・センターの操作に関する許可、優先順位、構成可能な動作に従って管理されます。
許可
ソース・クラスターとデスティネーション・クラスター間のトラフィックは、許可に従って管理されます。許可を取得できない場合、メッセージは延期され、許可が取得できて処理されるまでレプリケーション・ログ内で待機します。許可はグローバルであり、各デスティネーションに限定されません。
dse advrep conf
を使用します。dse advrep conf update --permits 1000デフォルトは30,000です。
許可を取得する際は、優先順位の高いチャネルが優先されます。ソースからデスティネーションにデータを送信するには、許可が必要です。
優先順位とFIFO/LIFOの有効化
コミット・ログはメモリーからディスクにフラッシュされ、データが適切なテーブルに書き込まれます。Change-Data-Capture(CDC)収集エージェントは、書き込まれたデータをさらにフィルター処理し、ディスク上にレプリケーション・ログ・ファイルを作成します。チャネル・ソース・テーブルごとに個別のデータ・ディレクトリーがディスク上に作成され、コミット・ログがフラッシュされるたびにデータが追加書き込みされ、デスティネーションにレプリケートされるすべてのメッセージが格納されます。任意の時点で1つのソース・テーブルに複数のレプリケーション・ログ・ファイルが存在することがあります。各ファイルには、連続したタイムスライスが格納され、その条件はdse advrep conf update
コマンドと--collection-time-slice-width
オプション(デフォルト:60秒)で構成可能です。次にCDC送信エージェントは、レプリケーション・ログ・ファイルに格納されたメッセージをデスティネーションに送信します。そこでデータが処理され、適切なデータベース・テーブルに書き込まれます。ソース・テーブルのデータが送信される順序は、チャネルの作成時にpriority
オプションを使用して変更できます。また、ソース・テーブルのレプリケーション・ログ・ファイルを読み取る順序は、--fifo-enabled
オプションと--lifo-enabled
オプションで調整できます。
dse advrep --host 192.168.3.10 channel create --source-keyspace foo --source-table bar --source-id source1 --source-id-column source_id --destination mydest --destination-keyspace foo --destination-table bar --collection-enabled true --priority 1 --lifo-enabledこの例では、テーブルfoo.barのレプリケーション・ログ・ファイルが他のテーブルのレプリケーション・ログ・ファイルより先に送信されるように、テーブルfoo.barのチャネルを優先順位1位に設定しています。また、レプリケーション・ログ・ファイルを最新のファイルから順に読み取るように設定しています。
複数のデータ・センターを含むハブ・クラスターの自動フェイルオーバーを構成する
DSE Advanced Replication(DSE拡張レプリケーション)は、DSE Javaドライバーのロード・バランス機能ポリシーを使用してハブ・クラスターと通信します。DSE Javaドライバーが使用するデータ・センター認識ラウンド・ロビン・ポリシー(DCAwareRoundRobinPolicy)のローカル・データ・センターは明示的に定義できます。
- driver-local-dc
- 複数のデータ・センターを持つデスティネーション・クラスターでは、ローカルと見なされるデータ・センターの名前を明示的に定義できます。通常、ソース・クラスターに最も近いデータ・センターがこれに該当します。この値は、複数のデータ・センターを持つクラスターにのみ使用されます。
- driver-used-hosts-per-remote-dc
- 複数のデータ・センターを持つデスティネーション・クラスターに自動フェイルオーバーを使用するには、データ・センター認識ラウンド・ロビン・ポリシー(DCAwareRoundRobinPolicy)で使用可能と見なされるリモート・データ・センターごとのホストの数を定義する必要があります。
- driver-allow-remote-dcs-for-local-cl
- 複数のデータ・センターを持つデスティネーション・クラスターで自動フェイルオーバーを有効にするには、trueに設定します。driver-consistency-levelパラメーターの値は、LOCAL_ONEまたはLOCAL_QUORUMに指定する必要があります。
LOCAL_QUORUM
の整合性レベルで自動フェイルオーバーを有効にするには、dse advrep destination update
を使用します。dse advrep destination update --name mydest --driver-allow-remote-dcs-for-local-cl true --driver-consistency-level LOCAL_QUORUM Destination mydest updated Updated driver_allow_remote_dcs_for_local_cl from null to true Updated driver_consistency_level from ONE to LOCAL_QUORUM