ストリームおよび近隣ブローカー

MQSeries パブリッシュ/サブスクライブ・ネットワークでは、ブローカーが隣接するブローカーと同じストリームのセットをサポートしなくてもかまいません。 ブローカーが近隣ブローカーの 1 つがサポートするストリームをサポートしていない場合、 そのストリームに関連したパブリケーションをそのブローカーのクライアントは使用できません。

WebSphere Business Integration Event Broker ブローカーがネットワークに追加されると、 それは近隣 MQSeries パブリッシュ/サブスクライブ・ブローカーによってサポートされるすべてのストリームをサポートします。 つまり、WebSphere Business Integration Event Broker ブローカーのクライアントは、近隣 MQSeries パブリッシュ/サブスクライブがサポートするすべてのストリームを パブリケーションの宛先とすることができます。

しかし、これらのパブリケーションを使用可能にするには、 WebSphere Business Integration Event Broker ブローカーにストリーム・キューを定義すること、 およびそれらをサポートするメッセージ・フローを定義およびデプロイすることが必要です。

WebSphere Business Integration Event Broker ブローカーをマルチストリームの MQSeries パブリッシュ/サブスクライブ環境に追加することの効果は、 以下の例で示されています。

異機種のネットワーク。 この図では、<ph conref='edvent.dita#edvent/mqsi'></ph> ブローカー NEWBROKER が 2 つの <ph conref='edvent.dita#edvent/sdk'></ph>・ブローカー BROKERA と BROKERB との間に配置されています。 また、2 つの <ph conref='edvent.dita#edvent/sdk'></ph>・ブローカーのそれぞれに関連したストリームをリストしています。
WebSphere Business Integration Event Broker ブローカーの NEWBROKER を使用して、 MQSeries パブリッシュ/サブスクライブ・ブローカーの BROKERA および BROKERB が結合されています。

デフォルトのストリーム・キュー SYSTEM.BROKER.DEFAULT.STREAM は、 MQSeries パブリッシュ/サブスクライブ・ネットワーク内のすべてのブローカーによって常にサポートされており、 異機種のネットワーク内にあるすべての WebSphere Business Integration Event Broker ブローカーに定義する必要があります。 各ブローカーでは、このキューにサービスを提供するためのメッセージ・フローを 定義およびデプロイする必要もあります。

WebSphere Business Integration Event Broker ブローカーが MQSeries パブリッシュ/サブスクライブ・ネットワークに組み込まれて、ストリームを共用する 複数の MQSeries パブリッシュ/サブスクライブ・ブローカーがリンクされる場合、 WebSphere Business Integration Event Broker ブローカーにストリーム・キューを定義すること、 およびそれらにサービスを提供するメッセージ・フローを定義およびデプロイすることが必要です。

たとえば、前の図に示されている WebSphere Business Integration Event Broker ブローカー NEWBROKER には BULLETIN.STREAM に定義されたストリーム・キューが必要です。 さらに、そのキューにパブリケーション・サービスを提供するためにメッセージ・フローが定義およびデプロイされている必要もあります。

近隣 MQSeries パブリッシュ/サブスクライブの 1 つがこれらのキューの 1 つにメッセージを送信できる場合に限り、 ストリーム・キューおよび関連したメッセージ・フローを 図に示された他のストリームの WebSphere Business Integration Event Broker ブローカーに定義する必要があります。 以下のイベントのいずれかが生じた場合に、メッセージが送信されます。
  1. これらのストリームの 1 つに存在するパブリケーションに対するサブスクリプションは、 WebSphere Business Integration Event Broker ブローカーのクライアントによって登録されます。
  2. ストリームのための DeletePublication コマンドは、 ブローカー・ネットワーク内のどこかに存在するクライアントによって出されます。
上記の事柄が生じるかどうかが不明な場合は、MQSeries パブリッシュ/サブスクライブ近隣によってサポートされているすべてのストリームに対して、 WebSphere Business Integration Event Broker ブローカー内にストリーム・キューおよびメッセージ・フローを作成します。 これを行わない場合、以下の結果になる可能性があります。
  • ストリーム・キューがそのブローカーに存在しない場合、 MQSeries パブリッシュ/サブスクライブ・ブローカーから送られたメッセージは WebSphere Business Integration Event Broker ブローカーのデッド・レター・キュー (DLQ) に入れられます。
  • ストリーム・キューが存在してもそれにサービスを提供するメッセージ・フローがデプロイされていない場合、 メッセージは WebSphere Business Integration Event Broker ブローカー上のストリーム・キューに積み重なります。