検索

第2章 クロスサイトレプリケーションのための Data Grid の設定

download PDF

サイト間でデータをレプリケートするように Data Grid を設定するには、最初にクラスタートランスポートをセットアップして、Data Grid クラスターが相互に検出し、サイトマスターが通信できるようにします。次に、バックアップの場所を Data Grid 設定のキャッシュ定義に追加します。

2.1. クロスサイトレプリケーションのためのクラスタートランスポートの設定

Data Grid クラスターがバックアップの場所と通信できるように、JGroups RELAY2 をトランスポート層に追加します。

手順

  1. infinispan.xml を開いて編集します。
  2. RELAY2 プロトコルを JGroups スタックに追加します。
  3. スタックを使用するように Data Grid クラスタートランスポートを設定します。

    <infinispan>
      <jgroups>
        <!-- Extends the default UDP stack. -->
        <stack name="xsite" extends="udp">
          <!-- Adds RELAY2 for cross-site replication. -->
          <!-- Names the local site as LON. -->
          <!-- Specifies 1000 nodes as the maximum number of site masters. -->
          <relay.RELAY2 site="LON" xmlns="urn:org:jgroups" max_site_masters="1000"/>
          <!-- Uses the default TCP stack for inter-cluster communication. -->
          <!-- Names all sites that act as backup locations. -->
          <remote-sites default-stack="tcp">
             <remote-site name="LON"/>
             <remote-site name="NYC"/>
          </remote-sites>
        </stack>
      </jgroups>
      <cache-container name="default" statistics="true">
        <!-- Use the "xsite" stack for cluster transport. -->
        <transport cluster="${cluster.name}" stack="xsite"/>
      </cache-container>
    </infinispan>
  4. infinispan.xml を保存して閉じます。

2.1.1. JGroups RELAY2 スタック

Data Grid クラスターは、クラスター間の検出および通信に JGroups RELAY2 を使用します。

<jgroups>
   <!-- Uses the default JGroups UDP stack for intra-cluster traffic. -->
   <stack name="xsite" extends="udp">
      <!-- Adds RELAY2 to the stack for inter-cluster transport. -->
      <!-- Names the local site. Data in caches from the local site is replicated to backup locations. -->
      <!-- Configures a maximum of 1000 site masters for the local cluster. -->
      <relay.RELAY2 xmlns="urn:org:jgroups"
                    site="LON"
                    max_site_masters="1000"/>
      <!-- Specifies all site names and uses the default JGroups TCP stack for inter-cluster transport. -->
      <remote-sites default-stack="tcp">
         <!-- Names all sites that participate in cross-site replication. -->
         <remote-site name="LON"/>
         <remote-site name="NYC"/>
      </remote-sites>
   </stack>
</jgroups>
ヒント

バックアップ要求で最適なパフォーマンスを得るには、max_site_masters に Data Grid クラスター内のノード数以上の値を設定します。

2.1.2. カスタム JGroups RELAY2 スタック

以下の設定は、デフォルトの TCP スタックを拡張するカスタムの RELAY2 スタックを追加します。

<jgroups>
  <!-- Uses TCPPING instead of MPING for discovery. -->
   <stack name="relay-global" extends="tcp">
     <MPING stack.combine="REMOVE"/>
     <TCPPING initial_hosts="192.0.2.0[7800]"
              stack.combine="INSERT_AFTER"
              stack.position="TCP"/>
   </stack>
   <!-- Extends the default UDP stack with RELAY2. -->
   <!-- Specifies RELAY2 properties. -->
   <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 スタックファイルを参照することもできます。以下に例を示します。

<infinispan>
  <jgroups>
     <stack-file name="relay-global" path="jgroups-relay.xml"/>
  </jgroups>
  <cache-container default-cache="replicatedCache">
    <transport stack="relay-global" />
    <replicated-cache name="replicatedCache"/>
  </cache-container>
</infinispan>

jgroups-relay.xml は、以下のような JGroups スタックファイルを参照します。

<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 JGroups stack configuration as required. -->
</config>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.