第3章 クロスサイトレプリケーションのための Data Grid の設定
サイト間でデータをレプリケートするように Data Grid を設定するには、最初にクラスタートランスポートをセットアップして、Data Grid クラスターが相互に検出し、サイトマスターが通信できるようにします。次に、バックアップの場所を Data Grid 設定のキャッシュ定義に追加します。
3.1. クロスサイトレプリケーションのためのクラスタートランスポートの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Data Grid クラスターがバックアップの場所と通信できるように、JGroups RELAY2 をトランスポート層に追加します。
手順
-
infinispan.xmlを開いて編集します。 以下のとおり、JGroups スタックに RELAY2 プロトコルを追加します。
<jgroups> <stack name="xsite" extends="udp"> <relay.RELAY2 site="LON" xmlns="urn:org:jgroups" max_site_masters="1000"/> <remote-sites default-stack="tcp"> <remote-site name="LON"/> <remote-site name="NYC"/> </remote-sites> </stack> </jgroups>以下のとおり、スタックを使用するように Data Grid クラスタートランスポートを設定します。
<cache-container name="default" statistics="true"> <transport cluster="${cluster.name}" stack="xsite"/> </cache-container>-
infinispan.xmlを保存して閉じます。
3.1.1. JGroups RELAY2 スタック リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Data Grid クラスターは、クラスター間の検出および通信に JGroups RELAY2 を使用します。
<jgroups>
<stack name="xsite"
extends="udp">
<relay.RELAY2 xmlns="urn:org:jgroups"
site="LON"
max_site_masters="1000"/>
<remote-sites default-stack="tcp">
<remote-site name="LON"/>
<remote-site name="NYC"/>
</remote-sites>
</stack>
</jgroups>
- 1
- Data Grid クラスタートランスポートに使用するプロトコルを宣言する xsite という名前のスタックを定義します。
- 2
- クラスター内トラフィックにデフォルトの JGroups UDP スタックを使用します。
- 3
- クラスター間トランスポートのスタックに
RELAY2を追加します。 - 4
- ローカルサイトに名前を付けます。Data Grid は、このサイトからのキャッシュ内のデータをバックアップの場所に複製します。
- 5
- ローカルクラスターに最大 1000 のサイトマスターを設定します。バックアップ要求で最適なパフォーマンスを得るには、
max_site_mastersに Data Grid クラスター内のノード数以上の値を設定する必要があります。 - 6
- すべてのサイト名を指定し、クラスター間トランスポートにデフォルトの JGroups TCP スタックを使用します。
- 7
- バックアップの場所として各リモートサイトに名前を付けます。
3.1.2. カスタム JGroups RELAY2 スタック リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
<jgroups>
<stack-file name="relay-global" path="jgroups-relay.xml"/>
<stack name="xsite" extends="udp">
<relay.RELAY2 site="LON" xmlns="urn:org:jgroups"
max_site_masters="10"
can_become_site_master="true"/>
<remote-sites default-stack="relay-global">
<remote-site name="LON"/>
<remote-site name="NYC"/>
</remote-sites>
</stack>
</jgroups>
jgroups-relay.xmlの例
<config xmlns="urn:org:jgroups"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.1.xsd">
<!-- Use TCP for inter-cluster transport. -->
<TCP bind_addr="127.0.0.1"
bind_port="7200"
port_range="30"
thread_pool.min_threads="0"
thread_pool.max_threads="8"
thread_pool.keep_alive_time="5000"
/>
<!-- Use TCPPING for inter-cluster discovery. -->
<TCPPING timeout="3000"
initial_hosts="127.0.0.1[7200]"
port_range="3"
ergonomics="false"/>
<!-- Provide other configuration as required. -->
</config>