第30章 セッションの外部化
30.1. JBoss EAP 6.x から JBoss Data Grid への HTTP セッションの外部化 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat JBoss Data Grid は、HTTP セッションなどの、JBoss Enterprise Application Platform (EAP) のアプリケーション固有データの外部キャッシュコンテナーとして使用できます。これにより、アプリケーションとは独立したデータレイヤーのスケーリングが可能になり、さまざまなドメインに存在する可能性がある異なる EAP クラスターが同じ JBoss Data Grid クラスターからデータにアクセスできるようになります。また、他のアプリケーションは Red Hat JBoss Data Grid により提供されたキャッシュと対話できます。
以下の手順は、EAP のスタンドアロンモードとドメインモードの両方に適用されます。ただし、ドメインモードでは、各サーバーグループで一意のリモートキャッシュが設定されている必要があります。複数のサーバーグループは同じ Red Hat JBoss Data Grid クラスターを使用できますが、各リモートキャッシュは EAP サーバーグループに対して一意になります。
手順30.1 HTTP セッションの外部化
- リモートキャッシュコンテナーが EAP の
infinispan
サブシステムで定義されるようにします。以下の例では、remote-store
要素のcache
属性によって、リモート JBoss Data Grid サーバーのキャッシュ名を定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ネットワーク情報を
socket-binding-group
に追加することにより、リモート Red Hat JBoss Data Grid サーバーの場所を定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 各キャッシュコンテナーと各 Red Hat JBoss Data Grid サーバーに対して上記の手順を繰り返します。定義された各サーバーでは、個別の
<outbound-socket-binding>
要素が定義されている必要があります。 - パッシベーションとキャッシュ情報をアプリケーションの
jboss-web.xml
に追加します。以下の例では、cacheContainer
はキャッシュコンテナーの名前であり、default-cache
はこのコンテナーにあるデフォルトのキャッシュの名前です。サンプルファイルを以下に示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
上記のパッシベーションタイムアウトは、通常のセッションが 15 分以内に破棄され、JBoss EAP のデフォルトの HTTP セッションタイムアウトが 30 分であることを前提として提供されています。これらの値は、各アプリケーションのワークロードに基いて調整する必要がある場合があります。