グローバル・キャッシュはブローカーに組み込まれます。 また、WebSphere® eXtreme Scale の外部グリッドに接続することもできます。
組み込みキャッシュにはデフォルトの単一ブローカー・トポロジーがあり、構成しなくても、ブローカー上の任意の実行グループで実行されるメッセージ・フローで使用できます。ただし、ブローカー・ポリシーとして none を選択することによってデフォルト・トポロジーをオフに切り替えて、プロパティーを実行グループごとに明示的に設定することができます。
次の図は、6 つの実行グループから成る、ブローカー内の組み込みグローバル・キャッシュを示しています。グローバル・キャッシュのコンポーネントをホストしている実行グループは 4 つですが、6 つすべての実行グループのメッセージ・フローがキャッシュを使用できます。
次の図は、ブローカー・ポリシー・ファイル policy_two_brokers_ha.xml によって構成された複数ブローカーの組み込みキャッシュを示しています。
次の図は、WebSphere Message Broker が組み込みキャッシュと WebSphere eXtreme Scale の外部グリッドの両方へ接続する方法を示しています。構成可能サービスは、外部グリッドへ接続するために使用されます。
WebSphere Message Broker には、キャッシュ・コンポーネントのデフォルト・トポロジーを単一ブローカーに作成するデフォルト・キャッシュ・ポリシーが存在します。 デフォルト・トポロジーはカタログ・サーバーとコンテナー・サーバーを実行グループに動的に配置します。これによってブローカー内のすべての実行グループはキャッシュを使用できるようになります。 ブローカー・レベルのプロパティーを使用すると、ポート範囲や、デフォルト・トポロジーのリスナー・ホストを指定することができます。 使用するポートの範囲は、ブローカーにより設定されますが、cachePortRange パラメーターを使用して特定のポート範囲を指定することも可能です。 listenerHost パラメーターを使用して、キャッシュ・コンポーネントによって使用されるリスナー・ホストを指定することができます。 コンピューターに複数のホスト名がある場合、リスナー・ホストを設定して、キャッシュ・コンポーネントが正しいホスト名を使用するようにします。
キャッシュ・ポリシーを none に設定した場合は、実行グループのプロパティーを明示的に設定する必要があります。 ブローカー・レベルのポリシーによって最後に設定されたプロパティーが開始点として使用されます。 そのため、最初にキャッシュ・ポリシーを default に設定し、その後、none に切り替えた場合、デフォルト・トポロジーのプロパティーが保持されます。
キャッシュ・ポリシーを XML ポリシー・ファイルの完全修飾名に設定することで、グローバル・キャッシュが複数のブローカーをまたぐように構成することができます。 このポリシー・ファイルには、キャッシュを共用するブローカーがリストされており、各ブローカーに対してリスナー・ホスト、ポート範囲、およびホストされるカタログ・サーバーの数が指定されています。 ポリシー・ファイルを使用して、2 つのカタログ・サーバーをホストする単一ブローカーをセットアップすることができます。一方のカタログ・サーバーが停止すると、ブローカーは他方のカタログ・サーバーに切り替えます。 こうして、キャッシュ・データが失われないようにします。
キャッシュ・ポリシーを disabled に設定した場合は、ブローカー内のすべてのキャッシュ・コンポーネントが使用不可になります。 disabled ポリシーはデフォルト設定です。
詳しくは、組み込みグローバル・キャッシュの構成およびcachemanager コンポーネントのパラメーター値を参照してください。
デフォルト・トポロジーでは、ブローカー内の 1 つの実行グループがカタログ・サーバーのホストとなります。 また、その実行グループ以外に、そのブローカー内で最大 3 つの実行グループがコンテナー・サーバーのホストとなります。 すべての実行グループは、カタログ・サーバーのホストであるか、コンテナー・サーバーのホストであるか (またはどちらでもないか) に関わらず、グローバル・キャッシュと通信できます。 それぞれの実行グループにはキャッシュ・マネージャーがあり、それによって、その実行グループに組み込まれたキャッシュ・コンポーネントが管理されます。 デフォルト・トポロジーをオフにした場合、cachemanager コンポーネントのパラメーター値を設定することにより、実行グループを構成します。
詳しくは、組み込みグローバル・キャッシュの構成およびcachemanager コンポーネントのパラメーター値を参照してください。
カタログ・サーバーが失われたときにキャッシュ・データが失われないようにするには、ポリシー・ファイルを使用して、ブローカーに対して複数のカタログ・サーバーを指定します。 例えば、単一ブローカーに対して 2 つのカタログ・サーバーを指定する場合、一方のカタログ・サーバーで障害が発生したときに、ブローカーは他方のカタログ・サーバーに切り替えます。 キャッシュが 2 つのブローカーによって共用され、それぞれがカタログ・サーバーをホストしている場合、一方のカタログ・サーバーで障害が発生したときに、ブローカーは他方のカタログ・サーバーに切り替えます。 カタログ・サーバーが複数存在すると、キャッシュが使用可能になるまでの起動時間に影響する可能性があります。複数のカタログ・サーバーがある場合、キャッシュを使用可能にするには、少なくともそのうち 2 つを開始する必要があります。 複数のカタログ・サーバーで複数のブローカーにまたがるキャッシュを構成する場合、あるブローカーを他のブローカーより先に開始するには、そのブローカーが 2 つのカタログ・サーバーをホストするように構成します。
デフォルトでは、各サーバーは、ブローカーによって派生したドメイン・ネームから始まります。従来のバージョンの WebSphere Message Broker では、すべての組み込みキャッシュ内のすべての WebSphere eXtreme Scale サーバーのドメイン・ネームが空ストリングでした。別のドメイン内のサーバーを同じグリッドで連携させることはできません。したがって、複数のブローカーにまたがるキャッシュについては、それらのブローカーを同時にマイグレーションしてください。
キャッシュは WebSphere eXtreme Scale 動的マップを使用します。 マップには任意の名前を指定できますが、SYSTEM.BROKER で始まる名前は使用できません。これはブローカーが使用するために予約されています。 デフォルト・マップの名前は SYSTEM.BROKER.DEFAULTMAP で、このマップを使用することも、消去することもできます。
リソース統計およびアクティビティー・トレースを使用すると、グローバル・キャッシュおよび外部グリッドの状況をモニターして問題を診断できます。また、mqsicacheadmin コマンドを使用すると、組み込みグローバル・キャッシュを管理することもできます。