Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue 使用の手引


2.8.2 クラスタの使用によるシステム管理の軽減

クラスタを使用して自分の環境でのシステム管理を軽減する方法を説明します。ここでは,簡単なクラスタを設定する方法と利点について説明します。

〈この項の構成〉

(1) クラスタの使用方法

クラスタにはキューマネジャがあり,通常,それらは論理的に関係を持ってデータやアプリケーションを共用します。例えば,自分の会社の各部門に一つのキューマネジャがあり,その部門に固有のデータやアプリケーションを管理していることがあります。すべてのキューマネジャが給与支払アプリケーションを使用できるように,これらのキューマネジャをすべて一つのクラスタにまとめることができます。または,チェーンストアの各支店に一つのキューマネジャを配置し,その支店の在庫などを管理できます。これらのキューマネジャをクラスタにまとめた場合,本社のキューマネジャに集中されているように販売アプリケーションや購買アプリケーションにアクセスできます。

クラスタが設定されれば,そのクラスタ内のキューマネジャは,チャネル定義やリモートキューのローカル定義なしで,相互に通信できます。

キューマネジャの既存のネットワークはクラスタに変換できます。また,新しいネットワークを構築しようとしている場合には,迅速にクラスタを構築できます。

(2) システム管理上の利点

クラスタを使用すると,ネットワークの管理が簡単になります。次の図は,それぞれ二つのキューを持っている四つのキューマネジャです。はじめに,分散キューイングでこれらのキューマネジャを接続するのに定義が幾つ必要か検討します。そのあと,同じネットワークをクラスタとして設定するのに定義が幾つ必要か検討します。

図2‒40 二つのキューを持っている四つのキューマネジャ

[図データ]

(a) 分散キューイングでネットワークを設定する定義

分散キューイングを使用してネットワークを設定するために必要な定義を次の表に示します。

表2‒13 分散キューイングでの定義

説明

キューマネジャ単位での定義数

定義総数

ほかのキューマネジャにメッセージを送信するチャネルのセンダチャネル定義

3

12

ほかのキューマネジャからメッセージを受信するチャネルのレシーバチャネル定義

3

12

ほかのキューマネジャへの転送キューの定義

3

12

各ローカルキューの定義

2

8

キューマネジャがメッセージを登録するためのリモートキューのローカル定義

6

24

(b) クラスタでネットワークを設定する定義

クラスタを使用する場合,次に示すとおり定義します。

  • 各キューマネジャに一つのクラスタセンダチャネル定義とクラスタレシーバチャネル定義

  • 別個に定義される転送キューはなし

  • リモートキューのローカル定義はなし

したがって,クラスタを使用してネットワークを設定するためには,次の表に示す定義が必要です。

表2‒14 クラスタでの定義

説明

キューマネジャ単位での定義数

定義総数

フルリポジトリキューマネジャにメッセージを送信するチャネルのクラスタセンダチャネル定義

1

4

クラスタ内のほかのキューマネジャからメッセージを受信するチャネルのクラスタレシーバチャネル定義

1

4

各ローカルキューの定義

2

8

クラスタ環境のシステムキューの定義

3

12

注※

詳細については,「2.8.11(6) クラスタ環境のシステムキュー」を参照してください。

二つのフルリポジトリを持ったキューマネジャでこのクラスタを設定するためには,各キューマネジャで七つの定義(合計で28の定義)をユーザが定義する必要があります。また,クラスタのリポジトリキューマネジャにするために,IBM MQの二つのキューマネジャでキューマネジャ定義の変更が必要です。

クラスタセンダチャネル定義とクラスタレシーバチャネル定義は一つだけ作成します。クラスタがそろったら,ほかのキューマネジャを妨げることなく,(フルリポジトリキューマネジャ以外の)キューマネジャを追加したり,取り除いたりできます。

これによって,多数のキューマネジャによるネットワークの設定に必要な定義の数が少なくなります。定義が少なくなるので,次に示すとおりエラーのリスクも減少します。

  • オブジェクト名(例えば,センダとレシーバのペアでのチャネル名)の不一致がありません。

  • チャネル定義で指定されている転送キュー名が転送キューの定義と一致しているかどうか,リモートキューのローカル定義で指定されている転送キュー名と一致しているかどうか,考慮する必要はありません。

  • リモートキューのローカル定義(MQAサービス定義のmqaremque定義コマンドの-rオプション)がリモートキューマネジャの間違ったキューを指すことはありません。

さらに,クラスタが設定されれば,ほかのキューマネジャでシステム管理作業をしなくても,クラスタ内でクラスタキューをあるキューマネジャから別のキューマネジャに移動できます。チャネル定義,リモートキューのローカル定義,または転送キューの定義の削除や修正漏れはありません。既存のネットワークに影響を与えないで,新しいキューマネジャをクラスタに追加できます。

(3) アプリケーションの見直し

簡単なクラスタを設定する場合には,自分のアプリケーションを修正する必要はありません。アプリケーションでは,通常どおりにMQOPEN命令でターゲットキューを指定し,キューマネジャの位置を意識する必要はありません。

しかし,クラスタ内に同じ名称のクラスタキューが複数存在する場合には,自分のアプリケーションを見直し,必要に応じて修正してください。

詳細については,「2.8.6 ワークロード管理へのクラスタの使用」を参照してください。

(4) クラスタの設定方法

複数のキューマネジャから成るクラスタを構築すると決定したら,どのキューマネジャにクラスタのフルリポジトリを持たせるかを検討する必要があります。そこで,任意の数のキューマネジャを選択できますが,二つに設定することをお勧めします。

小さなクラスタの場合,キューマネジャは二つしかありません。しかし,TP1/Message Queueはフルリポジトリをサポートしていないため,フルリポジトリをサポートしたIBM MQが必要になります。

二つのキューマネジャがあるクラスタについて,次の図に示します。

図2‒41 二つのキューマネジャがある小さなクラスタ

[図データ]

このようなクラスタの設定方法については,「2.8.3 クラスタのセットアップ」を参照してください。