2.3.2 MCAのチャネルタイプ
チャネルを制御するMCAには幾つかのチャネルタイプがあります。チャネルタイプが異なるとチャネルを制御するMCAの動作も異なります。
TP1/Message QueueがサポートするチャネルタイプとMCAの動作について,次に示します。チャネルタイプはTCP定義のmqtalccha定義コマンドで指定します。
- センダ(sender)
-
通信相手システムのレシーバまたはリクエスタをチャネル開始要求で起動し,メッセージを転送キューから取り出してレシーバまたはリクエスタに送信します。通信相手システムのリクエスタから起動された場合は,センダから起動をし直します。
- レシーバ(receiver)
-
通信相手システムのセンダまたはサーバからのチャネル開始要求で起動され,センダまたはサーバからのメッセージを受信します。受信後,メッセージに指定されたあて先キューへ登録します。
- リクエスタ(requester)
-
通信相手システムのセンダまたはサーバをチャネル開始要求で起動し,センダまたはサーバのチャネル定義で指定された転送キューからのメッセージを受信します。受信後,メッセージに指定されたあて先キューへ登録します。センダまたはサーバからのチャネル開始要求によって起動することもできます。
- サーバ(server)
-
通信相手システムのリクエスタからチャネル開始要求で起動され,メッセージを転送キューから取り出して,レシーバまたはリクエスタに送信します。通信相手システムを設定すると,レシーバまたはリクエスタをチャネル開始要求で起動できます。
- クラスタセンダ(clussdr)
-
クラスタ機能で使用する送信側のチャネルタイプです。TCP定義のmqtalccha定義コマンドで指定する事前定義クラスタセンダと,接続相手のクラスタレシーバの属性に応じてTP1/Message Queueが自動的に作成する自動定義クラスタセンダがあります。詳細については,「2.8 キューマネジャクラスタの機能」を参照してください。
- クラスタレシーバ(clusrcvr)
-
クラスタ機能で使用する受信側のチャネルタイプです。TCP定義のmqtalccha定義コマンドで指定する事前定義クラスタレシーバと,事前定義クラスタレシーバの属性でTP1/Message Queueが自動的に作成する自動定義クラスタレシーバ(チャネルインスタンス)があります。なお,事前定義クラスタレシーバには,実体はありません。詳細については,「2.8 キューマネジャクラスタの機能」を参照してください。
コーラ側MCAになることができるチャネルタイプは,センダ,サーバ,リクエスタ,またはクラスタセンダです。レスポンダ側MCAになることができるチャネルタイプは,センダ,サーバ,レシーバ,リクエスタ,またはクラスタレシーバです。チャネルは,コーラ側MCAとレスポンダ側MCAを1対1で組み合わせます。一つのMCAに複数のMCAを組み合わせると,メッセージが二重に送信されたり,欠落したりすることがあります。
チャネルタイプの組み合わせについて,次の表に示します。
チャネルタイプの組み合わせは,システム設計時の最も早期に決定する必要がある検討事項です。
コーラ側MCAのチャネルタイプ |
メッセージの送受信方向 |
レスポンダ側MCAのチャネルタイプ |
---|---|---|
センダ |
→ |
レシーバ |
センダ |
→ |
リクエスタ |
サーバ |
→ |
リクエスタ |
サーバ |
→ |
レシーバ |
リクエスタ |
← |
センダ※ |
リクエスタ |
← |
サーバ |
クラスタセンダ |
→ |
クラスタレシーバ |
- (凡例)
-
→:コーラから送信します。
←:レスポンダから送信します。
- 注※
-
センダは,リクエスタからのネットワークリクエストに対して,いったんチャネルの終了を要求して,TCP/IPコネクションを解放します。その後,センダから再度コーラとしてチャネルを確立します。
クラスタチャネルでは一つのチャネル定義に対して複数のMCAを動作させるマルチインスタンス機能を持っています。詳細については,「2.8.9 クラスタ環境の通信構成」を参照してください。