第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" 1 extends="udp"> 2 <relay.RELAY2 xmlns="urn:org:jgroups" 3 site="LON" 4 max_site_masters="1000"/> 5 <remote-sites default-stack="tcp"> 6 <remote-site name="LON"/> 7 <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"/> 1 <stack name="xsite" extends="udp"> <relay.RELAY2 site="LON" xmlns="urn:org:jgroups" max_site_masters="10" 2 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>