第25章 セッションの外部化
25.1. JBoss EAP から JBoss Data Grid への HTTP セッションの外部化 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat JBoss Data Grid は、Red Hat JBoss Enterprise Application Platform(JBoss EAP)6.4 以降で、HTTP セッションなどのアプリケーション固有のデータの外部キャッシュコンテナーとして使用できます。これにより、アプリケーションとは独立したデータレイヤーのスケーリングが可能になり、さまざまなドメインに存在する可能性がある異なる EAP クラスターが同じ JBoss Data Grid クラスターからデータにアクセスできるようになります。また、他のアプリケーションは Red Hat JBoss Data Grid によって提供されたキャッシュと対話できます。
以下の手順は、EAP のスタンドアロンモードとドメインモードの両方に適用されますが、ドメインモードでは、各サーバーグループに一意のリモートキャッシュを設定する必要があります。複数のサーバーグループは同じ Red Hat JBoss Data Grid クラスターを使用できますが、各リモートキャッシュは EAP サーバーグループに固有のものです。
注記
分散可能なアプリケーションごとに完全に新しいキャッシュを作成する必要があります。これは既存のキャッシュコンテナー(web など)で作成できます。
手順25.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に追加します。以下の例では、webはキャッシュコンテナーの名前で、jdgはこのコンテナーにあるデフォルトキャッシュの名前です。ファイルの例を以下に示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記上記のパッシベーションタイムアウトは、典型的なセッションが 15 分以内に破棄され、JBoss EAP の 30 分間でデフォルトの HTTP セッションタイムアウトを使用することを前提とします。これらの値は、各アプリケーションのワークロードに基づいて調整する必要があります。