スケールアウト リポジトリとしての Oracle Coherence の要件と構成

重要: 本トピックは、早期採用者製品 (Early Adopter Program; EAP) リリース ステータスの機能に該当します。機能の最終版については、今後リリースする予定です。詳細については、Micro Focus カスタマー ケア までお問い合わせください。

本番環境では、Oracle Coherence バージョン 14.1.1 以降を使用する必要があります。

注: Micro Focus では、PAC 環境で使用する場合に CPU 使用率が高くなる問題を回避するため、リモート クライアントで Java 8 を使用するか、ダイレクトまたはリモート クライアントで Java 11 を使用することをお勧めします。

Oracle Coherence の詳細については、こちらをクリックしてください。

Coherence ファイル coherence.jar が必要です。セキュリティを構成する場合は、coherence-login.jar ファイルも必要です。

Coherence のクライアントおよびサーバーは、XML 構成ファイルおよび Java システム プロパティの組合せを使用して構成されます。

Micro FocusEnterprise Server サポート ファイル mfescache.jar が、Enterprise Developer に同梱されています。このファイルは %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\bin(Windows) または $COBDIR/lib(UNIX) にあります。Micro Focus 構成ファイル mfescache.cfg も提供されており、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\etc(Windows) または $COBDIR/etc(UNIX) にあります。これらのファイルは、クラスター名などの項目に対してシステム プロパティが設定されている場合に限り、本番環境での使用に適しています。クラスター名が構成されていない場合は、クライアントまたはサーバーを実行している OS ユーザー名に基づいて自動的に生成されます (「ユーザーのクラスター」など)。デフォルトの構成ファイルを使用する場合、クラスター名は、必ず coherence.cluster プロパティを介して構成する必要があります。デフォルトの構成ファイル名は mfes-cache-config.xml で、CLASSPATH に沿って mfescache.jar ファイル内に配置されています。構成ファイルは、必要に応じて抽出および変更できます。

Coherence のクライアントおよびサーバーは、既知のアドレスのリストを使用したマルチキャストまたはユニキャストによって互いを検出できます。また、指定されたクラスター名を使用し、結合して単一クラスターの形成を試行します。クラスター名は、Java プロパティ coherence.cluster を使用して構成できます。クラスターの形成および構成の詳細については、Oracle Coherence のドキュメントを参照してください。

注: クラスター名の長さは 64 文字に制限されています。

mfescache.cfg 構成ファイルおよび既知のアドレス

Micro Focus の構成ファイル mfescache.cfg は、Enterprise Server によって作成された Java 仮想マシン環境を定義し、この環境で Coherence クライアントを利用できるようにします。このファイルをテキスト エディターで変更して、CLASSPATH エントリまたは既知のアドレスなどのプロパティを追加できます。デフォルトのキャッシュ構成ファイル (mfes-cache-config.xml) では、既知のアドレスが使用されます。既知のアドレスは、mfescache.wka.CLUSTERNAME という名前の Java プロパティを使用し、エンドポイントをカンマで区切り、中かっこ {} で囲んだリストとして、次のように指定します。
mfescache.wka.MYPAC_cluster={192.168.11.12:7574,192.168.11.14:7574}
メンバーがクラスターに参加またはアクセスできるようにするには、指定されたエンドポイントのいずれかにある Coherence サーバーが接続できる必要があります。エンドポイントが指定されていない場合、ポートは coherence.clusterport の値に設定されます。このデフォルト値は IANA 登録ポート 7574 です。1 つのネットワーク名に対して複数のアドレスを返すようにネットワーク DNS を構成できる環境では、その機能を使用して構成を簡素化できます。単一のエンドポイント アドレスを指定する場合は、それを囲む中かっこ {} を省略できます。

Coherence サーバーの起動

Enterprise Server で使用する Coherence サーバーを起動するには、次のものが必要です。

  • Java 1.8 以降。
  • Oracle Coherence バージョン 14.1.1 以降の coherence.jar ファイル。
  • Enterprise Servermfescache.jar サポート ファイル。
  • Coherence キャッシュ構成ファイル、または Coherence 操作オーバーライド構成ファイル (あるいはその両方) へのアクセス。
注: Enterprise Server の Coherence 機能は、代替のスケールアウト リポジトリ (SOR) モデルの使用をサポートしていません。そのため、SOR は 1 つだけ構成する必要があります。

Oracle Coherence coherence.jar ファイルおよび Micro Focus mfescache.jar ファイルは、サーバー実行時に両方とも Java の CLASSPATH に存在している必要があります。

デフォルトのキャッシュ構成ファイル名を使用しない場合は、キャッシュ構成ファイルの場所は coherence.cacheconfig システム プロパティを使用して指定する必要があります。これは、CLASSPATH 上のファイルの名前、ローカル ファイルへのパス、または構成内容を提供する URL にできます。

各サーバー クラスターは、2 つの jar ファイルが現在のディレクトリにあると仮定して、次のいずれかのようなコマンドを使用して開始されます。MYPAC_cluster の代わりに適切なクラスター名を使用します。リストされているクラスは Coherence サーバーのラッパーであり、次のプロパティを設定します。

tangosol.pof.enabled=true, 
coherence.pof.config=es-pof-config.xml,
coherence.role=server,
coherence.cacheconfig=mfes-cache-config.xml
注: プロパティがすでに設定されている場合、tangosol.pof.enabled を除き、オーバーライドされません。

Micro Focus では、本番環境に最低 3 台のサーバーを使用することをお勧めします。これにより、サーバーに障害が発生した場合やメンテナンスが必要な場合に備えて、データの冗長性と回復がサポートされます。テストが目的であれば、単一のサーバーで十分です。

Coherence では、サービス アクションが許可または禁止される前に 1 つのクラスターで必要なサービス メンバーの最小数は、クォーラムと呼ばれます。クラスターが適切にプロビジョニングされるように、特定のサービス アクションがクラスターで許可される時点を制御するクォーラム ポリシーを構成できます。詳細については、Oracles Coherence のドキュメントを参照してください。クォーラム ポリシーの構成を支援するために、提供された操作オーバーライド ファイルはデフォルトで coherence.role を「es-client」に設定し、デフォルトで cluster-survivor-quorum timeout-survivor-quorum 要素を、少なくとも 1 つの「es-client」および 1 つの"サーバー"を要求するように設定します。。

ログ設定以外、サーバーは、通常、次のように同じ構成を使用して起動できます。

java -cp coherence.jar:mfescache.jar -Dcoherence.cluster=MYPAC_cluster -Dmfescache.wka.MYPAC_cluster={192.168.11.12:7574,192.168.11.14:7574} com.microfocus.es.cache.coherence.ESCacheServer

デフォルトのポートを使用して出力をファイルに送信するには、次のコマンドを実行します。

java -cp coherence.jar:mfescache.jar -Dcoherence.cluster=MYPAC_cluster -Dmfescache.wka.MYPAC_cluster={192.168.11.12,192.168.11.14} -Dcoherence.log=/tmp/coherence.log com.microfocus.es.cache.coherence.ESCacheServer

代替キャッシュ構成ファイルを指定するには、次のコマンドを実行します。

java -cp coherence.jar:mfescache.jar -Dcoherence.cluster=MYPAC_cluster -Dmfescache.wka.MYPAC_cluster={192.168.11.12,192.168.11.14} -Dcoherence.cacheconfig=mycacheconfig.xml com.microfocus.es.cache.coherence.ESCacheServer

ロギング

Coherence ロギングは、coherence.log=<location> プロパティおよび coherence.log.level=n プロパティを使用して指定されます。ここで、n は 0 から 9 の間です。ログ レベルの詳細については、Oracle Coherence を参照してください。標準の Coherence の動作に加えて、@PID@<location> 内に含まれていると、これは Enterprise Server プロセスをロギングする際に役立つプロセス固有の識別子に置き換えられます。次に例を示します。
coherence.log=/logs/coherence_@PID@.log
では、ログが /logs/coherence_1234@mymachine.log に設定されます。

デフォルトでは、Enterprise Server クライアントの coherence.log.level プロパティは 0 に設定されていますが、SOR 構成の一部として指定することでオーバーライドできます。次に例を示します。

ES_SCALE_OUT_REPOS_1=MYSOR=coherence,,coherence.cluster=MYPAC_cluster,,mfescache.wka.MYPAC_cluster=127.0.0.1,coherence.log.level=9,coherence.log=/tmp/coherence.log##TMP#

セキュリティ

Coherence サーバーでセキュリティが有効になっている場合、アクセスに使用するユーザー ID は、次の例のように、サフィックスとしてアットマーク (@) を使用し、その後に残りの接続文字列を続けて指定する必要があります。

ES_SCALE_OUT_REPOS_1=MYSOR=coherence,MYUSER@mfes-cache-config.xml,coherence.cluster=MYPAC_cluster,mfescache.wka.MYPAC_cluster=127.0.0.1##TMP#

Micro Focus では、パスワードはコンテナー機能に格納することをお勧めします。詳細については、「Vault 機能」を参照してください。

Coherence セキュリティは、「操作オーバーライド」構成ファイルを使用して構成されます。このファイルは tangosol-coherence-override.xml の名前で CLASSPATH 上に配置するか、coherence.override システム プロパティを使用して指定できます。対応する Java セキュリティ ポリシーを指定する必要があります。tangosol.coherence.override.xml ファイルは mfescache.jar に含まれており、デフォルトではセキュリティ設定を指定していません。