2.8.4 クラスタへの新しいキューマネジャの追加
ここでは,次に示す作業を実行する方法について説明します。
フルリポジトリを設定する場合は,IBM MQのマニュアルを参照してください。
(1) クラスタへの新しいキューマネジャの追加例の説明
作業で前提になる例について説明します。
-
INVENTORYクラスタには二つのキューマネジャ,LONDONとNEWYORKが組み込まれていて,LONDONがフルリポジトリを保持しています。
-
チェーン店の新しい支店をパリに設定します。このクラスタに,PARISというキューマネジャを追加するとします。
-
キューマネジャ(PARIS)は,INVENTQキューにメッセージを登録することによって,在庫表の更新情報をニューヨークのシステムで動作するアプリケーションに送信します。
-
三つのシステムは互いに接続できます。
-
ネットワークプロトコルはTCPです。
(2) 作業を完了させるために必要な手順
次に示す手順に従って作業します。
-
キューマネジャ(PARIS)を準備します。
キューマネジャの準備については,「2.8.3(2) 作業を完了させるために必要な手順」を参照してください。
-
PARISが参照するフルリポジトリを決定します。
クラスタ内のすべてのキューマネジャは,クラスタについての情報を収集し,独自のパーシャルリポジトリを構築するために,フルリポジトリを参照する必要があります(クラスタ内に二つ以上のフルリポジトリがある場合は,どれか一つのフルリポジトリを参照する必要があります)。
自キューマネジャで変更した情報は,直接フルリポジトリに送信されます(クラスタ内に二つ以上のフルリポジトリがある場合は,直接二つのフルリポジトリに送信されます)。
この例では,フルリポジトリはLONDONだけです。キューマネジャ(PARIS)からLONDONへの接続定義を作成します。
- ポイント
-
以降の手順は,どの順序で実行してもかまいません。
-
キューマネジャ(PARIS)上で,クラスタレシーバチャネルを定義します。
クラスタ内の各キューマネジャ上で,参加するクラスタごとに,キューマネジャがメッセージを受信するためのクラスタレシーバチャネルを定義します。
キューマネジャ(PARIS)での定義を次に示します。
mqtalccha -c TO.PARIS -y"type=clusrcvr" \ -r ipaddr=192.168.0.3 \ -a "cluster = INVENTORY"
これによって,クラスタINVENTORY内のほかのキューマネジャからメッセージを受信できるという,キューマネジャの可用性が通知されます。
クラスタレシーバチャネルTO.PARISの受信端に送信するために,ほかのキューマネジャを定義する必要はありません。その定義は,必要に応じて自動的に実行されます。
-
キューマネジャ(PARIS)上で,クラスタセンダチャネルを定義します。
クラスタ内のすべてのキューマネジャでは,参加するクラスタごとに,事前定義クラスタセンダチャネルを一つ以上定義する必要があります。事前定義クラスタセンダチャネルを定義することによって,クラスタ制御用のシステムメッセージをフルリポジトリキューマネジャに送信できます。
PARISでは,TO.LONDONというチャネルの定義を,キューマネジャ(LONDON)に対し作成します。
キューマネジャ(PARIS)での定義を次に示します。
mqtalccha -c TO.LONDON -y"type=clussdr" \ -o oipaddr=192.168.0.1 \ oservname=listenerport \ -a "cluster = INVENTORY"
(3) 作業で構築されるクラスタ
この作業で構築されるクラスタについて,次の図に示します。
|
二つの定義(クラスタレシーバチャネル定義およびクラスタセンダチャネル定義)を作成するだけで,キューマネジャ(PARIS)をクラスタに追加できました。
キューマネジャ(PARIS)は,LONDONにあるリポジトリから,クラスタキュー(INVENTQ)がキューマネジャ(NEWYORK)に存在することを知ります。PARISにあるアプリケーションがINVENTQにメッセージを登録するとき,PARISは自動的にクラスタセンダチャネルを作成し,クラスタレシーバチャネルTO.NEWYORKに接続します。キューマネジャ名がターゲットキューマネジャとして指定される場合,および応答キューが提供される場合は,アプリケーションは応答を受信できます。