プライマリ・コンテンツに移動
Oracle® Fusion Middleware WebLogic Server Multitenantの使用
12c (12.2.1)
E67376-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

14 Coherenceの構成

この章では、WebLogic Server MTでCoherenceを構成する方法について説明します。この章の説明に従い、Fusion Middleware Control (FMWC)またはWLSTを使用して、Coherenceを構成できます。この章では、適宜追加情報について、Coherenceのドキュメントおよびオンライン・ヘルプを参照します。

この章の内容は次のとおりです。

Coherenceの構成: 概要

Coherenceアプリケーションは、Weblogic Server MTで提供される密度および操作効率を最大限に利用できます。すべてのテナントのインストゥルメンテーションは自動的に提供され、アプリケーションに変更を加える必要はありません。

マルチテナント・ドメインでは、すべてのドメイン・パーティションで使用可能な単一の共有Coherenceクラスタを使用します。アプリケーション・キャッシュは独立しており、ドメイン・パーティション・レベルで共有することもできます。一般的なデプロイメント・ツールはCoherenceグリッド・アーカイブ(GAR)モジュールのデプロイおよび管理に使用され、一般的なパーティション・ライフサイクル操作はCoherenceサービスのライフサイクルの管理に使用されます。

マルチテナント・ドメインでのCoherence設定の理解

マルチテナント・ドメインでのCoherenceの設定では、管理対象Coherenceサーバーを使用する必要があります。ドメインのCoherenceクラスタを最初に作成し、すべての管理対象Coherenceサーバーがそのクラスタの一部になるように構成する必要があります。管理対象Coherenceサーバーは、通常、WebLogic Serverクラスタを使用して層内に設定され、これにより、Coherenceは必要に応じて簡単にスケール・アップまたはスケール・ダウンできます。詳細は、『Oracle WebLogic Serverクラスタの管理』を参照してください。また、Coherenceアプリケーションは、マルチテナント・ドメインにデプロイするためにGARモジュールとしてパッケージ化される必要があります。CoherenceアプリケーションをGARモジュールとしてパッケージ化する方法の詳細は、『Oracle WebLogic Server Oracle Coherenceアプリケーションの開発』を参照してください。

マルチテナント・ドメインでのキャッシュ分離の理解

マルチテナント・ドメインでのキャッシュ分離では、複数のドメイン・パーティション間に単一のGARをデプロイし、すべてのテナントで使用されるようにすることができます。分離はドメイン・パーティション・レベルで提供され、アプリケーションに対して透過的です。GARがドメイン・パーティションにデプロイされると、新しいキャッシュ・サービス・インスタンスが作成され、そのドメイン・パーティションに分離されます。GARモジュールは、Coherenceサービスのブートストラップ時に適切なテナントIDおよびメタデータを生成します。一部のキャッシュ構成プロパティは、各ドメイン・パーティション用の異なる値でオーバーライドされる場合があります

キャッシュ共有の理解

キャッシュの共有により、複数のドメイン・パーティションで単一のキャッシュ・インスタンスを使用できます。各テナントは同じキャッシュにアクセスできます。キャッシュの共有は、パーティション・レベルで有効化され、キャッシュにアクセスする各ドメイン・パーティションで設定する必要があります。キャッシュの共有は、アプリケーションに対して透過的です。

キャッシュ共有では、最大限のキャッシュ再利用を行い、最も効率的にリソースを使用します。ただし、キャッシュ共有は、キャッシュ・データがいずれかのテナントに固有でない場合にのみ使用する必要があります。

マルチテナント・ドメインでのCoherenceアプリケーションのデプロイ

Coherenceアプリケーションは、Fusion Middleware ControlやWLSTなどの一般的なデプロイ・ツールを使用してデプロイされます。マルチテナント環境でのアプリケーションの詳細なデプロイ手順は、「アプリケーションのデプロイ」を参照してください。

Coherenceアプリケーションをデプロイする場合は、「スコープ」フィールドを使用して、アプリケーションがデプロイされるドメイン・パーティションを指定します。Coherenceアプリケーションは次に対してデプロイできます。

  • グローバル・スコープ - グローバル・スコープは、非マルチテナント・デプロイメントと同等で、キャッシュ分離が使用されません。

  • リソース・グループ・テンプレート - アプリケーションは、指定したリソース・グループ・テンプレートを使用するように構成されたドメイン・パーティションにデプロイされます。キャッシュ・インスタンスは各ドメイン・パーティションに分離されます。

  • パーティションのリソース・グループ - アプリケーションは、指定したリソース・グループを使用するように構成されたパーティションにデプロイされます。キャッシュ・インスタンスは各ドメイン・パーティションに分離されます。

キャッシュ構成プロパティのオーバーライド

キャッシュ構成プロパティは、各ドメイン・パーティションで指定できます。GARモジュールの初期化時に、パーティション固有の値がキャッシュ構成に注入されます。たとえば、1つのパーティションのキャッシュが5分後にエントリを失効するように構成され、別のドメイン・パーティションのキャッシュが10分後にエントリを失効するように構成される場合があります。どちらの場合も、同じキャッシュ構成ファイルがGARモジュールにデプロイされます。

キャッシュ構成プロパティをオーバーライドする主な手順は次のとおりです。

  1. パーティション設定を編集するパーティションを選択します。

  2. オーバーライドされるプロパティの名前および値を追加して、Coherence構成設定を更新します。

Fusion Middleware Controlを使用して、キャッシュ構成プロパティをオーバーライドするには、オンライン・ヘルプのドメイン・パーティションCoherenceキャッシュの構成に関する項を参照してください。

WLSTの使用

キャッシュ構成プロパティをオーバーライドし、WeblogicドメインMBeanサーバーに接続して、プロパティを指定する場合はcreateCoherencePartitionCacheProperty操作を実行し、プロパティ値を入力する場合はsetValue操作を実行します。次に例を示します。

cd('/')
cd('/Partitions/MyPartition-1')
cmo.createCoherencePartitionCacheConfig('MyConfig')
cd('CoherencePartitionCacheConfigs/MyConfig')
cmo.createCoherencePartitionCacheProperty('expiry-delay')
cd('CoherencePartitionCacheProperties/expiry-delay')
cmo.setValue('3600s')

キャッシュ構成プロパティは、destroyCoherencePartitionCacheConfig操作を使用して削除することもできます。次に例を示します。

cd('/')
cd('/Partitions/MyPartition-1')
cmo.createCoherencePartitionCacheConfig('MyConfig')
cd('CoherencePartitionCacheConfigs/MyConfig/CoherencePartitionCacheProperties/
   expiry-delay')
property = cmo
cd('..')
cmo.destroyCoherencePartitionCacheProperty(property)

パーティション間でのキャッシュ共有の有効化

キャッシュの共有は、キャッシュをデプロイする各パーティションで明示的に設定する必要があります。1つのパーティションのキャッシュに対してキャッシュ共有を有効にした場合、すべてのパーティションで自動的にキャッシュが共有されることはありません。

同じキャッシュ・スキームをマルチテナント・ドメインで共有キャッシュおよび非共有キャッシュの両方に使用することはできません。ただし、キャッシュ・スキームでは、スキーム参照を使用して、同じスキーム定義を再利用できます。次に例を示します。

<caching-scheme-mapping>
   <cache-mapping>
      <cache-name>example</cache-name>
      <scheme-name>ExamplesPartitioned-NonShared</scheme-name>
   </cache-mapping>
   <cache-mapping>
      <cache-name>example-shared</cache-name>
      <scheme-name>ExamplesPartitioned-Shared</scheme-name>
   </cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
   <distributed-scheme>
      <scheme-name>ExamplesPartitioned-NonShared</scheme-name>    
      <scheme-ref>ExamplesPartitionedScheme</scheme-ref>
   </distributed-scheme>
   <distributed-scheme>
      <scheme-name>ExamplesPartitioned-Shared</scheme-name>
      <scheme-ref>ExamplesPartitionedScheme</scheme-ref>
   </distributed-scheme>
   <distributed-scheme>
      <scheme-name>ExamplesPartitionedScheme</scheme-name>
      <service-name>ExamplesPartitionedCache</service-name>
      <backing-map-scheme>
         <local-scheme>
            <high-units>32M</high-units>
            <unit-calculator>binary</unit-calculator>
         </local-scheme>
      </backing-map-scheme>
      <autostart>true</autostart>
   </distributed-scheme>
</caching-schemes>

キャッシュ共有を有効化する主な手順は次のとおりです。

  1. パーティション設定を編集するパーティションを選択します。

  2. パーティションにCoherenceキャッシュを追加します。

  3. キャッシュが共有されることを指定します。

  4. キャッシュを共有する各パーティションでこのプロセスを繰り返します。構成値は、各パーティションで同じである必要があります。

Fusion Middleware Controlを使用して、キャッシュ共有を有効化するには、オンライン・ヘルプのドメイン・パーティションCoherenceキャッシュの構成に関する項を参照してください。

WLSTの使用

パーティション間でのキャッシュ共有を有効化するには、WeblogicドメインMBeanサーバーに接続し、trueパラメータを指定してsetShared操作を実行します。次に例を示します。

cd('/')
cd('/Partitions/MyPartition-1')
cmo.createCoherencePartitionCacheConfig('MyConfig')
cd('CoherencePartitionCacheConfigs/MyConfig')
cmo.setShared(true)

cd('/')
cd('/Partitions/MyPartition-2')
cmo.createCoherencePartitionCacheConfig('MyConfig')
cd('CoherencePartitionCacheConfigs/MyConfig')
cmo.setShared(true)

マルチテナント・ドメインでのCoherenceアプリケーションの保護

Coherenceアプリケーションでは、WebLogic Serverで使用可能な認可機能を使用します。認可ロールおよびポリシーは、キャッシュおよびサービスに構成され、各パーティションに設定される必要があります。マルチテナント・ドメインでのセキュリティの詳細は、「セキュリティの構成」を参照してください。WebLogic ServerにおけるCoherenceセキュリティの詳細は、『Oracle Coherenceの保護』を参照してください。


注意:

共有キャッシュは、グローバル・パーティションによって所有され、認可はグローバル・レルムに基づきます。

Coherenceの構成: 関連タスクおよびリンク

  • マルチテナントでのCoherenceの使用例の詳細は、WebLogic Serverコード・サンプルに含まれている、管理対象Coherenceサーバー - マルチテナント例に関する項を参照してください。

  • Coherenceクラスタの作成の詳細は、『Oracle WebLogic Serverクラスタの管理』を参照してください。

  • Coherenceアプリケーションのパッケージ化の詳細は、『Oracle WebLogic Server Oracle Coherenceアプリケーションの開発』を参照してください。

  • Oracle WebLogic ServerにおけるOracle Coherenceの保護の詳細は、『Oracle Coherenceの保護』を参照してください