스트림

스트림WebSphere MQ Publish/Subscribe 응용프로그램이 사용하는 토픽 분할 방법입니다. 관련 토픽 세트는 그룹으로 묶여서 개별 스트림으로 들어갑니다.

스트림을 사용하여 서로 다른 보안 컨트롤이 서로 다른 그룹의 토픽에 적용될 수 있으며 브로커의 publish 워크로드가 더 잘 조절됩니다.

WebSphere Message Broker는 응용프로그램이 이 두 개념을 모두 실현하도록 하는 다른 방법을 제공하지만, MQRFH 응용프로그램과의 호환성을 지원하기 위해 스트림 개념이 지원됩니다.

WebSphere Message Broker는 MQRFH 클라이언트 응용프로그램이 MQPSStreamName 명령 매개변수를 subscription 및 publication에 지정하도록 합니다. 그러나, 스트림 이름은 WebSphere MQ Publish/Subscribe의 파티션 특정을 보존하기 위해 토픽을 수정하는 데만 사용됩니다.

메시지와 연관된 스트림 이름이 SYSTEM.BROKER.DEFAULT.STREAM이 아닌 경우, 메시지 내에 언급된 토픽의 접두부에 문자열 "$SYS/STREAM/<streamname>/"이 붙어 있는 것처럼 메시지가 처리됩니다. 예를 들면, StreamX의 스트림 이름을 지정하는 Topic1으로의 subscription은 토픽 "$SYS/STREAM/StreamX/Topic1"으로 subscription이 이루어진 것처럼 처리됩니다.

MQRFH2 publish 및 subscribe 응용프로그램은 자체적으로 WebSphere Message Broker 브로커로 송신하는 메시지에 스트림 이름을 지정할 수 없지만 시스템 관련 토픽을 대상으로 할 수도 있습니다. 이를 위해서는 토픽에 적절한 스트림 접두부를 붙여야 합니다.

예를 들면, MQRFH2 subscriber는 토픽 "$SYS/STREAM/STOCK.STREAM/IBM/Latest"를 지정해야만 WebSphere MQ Publish/Subscribe 네트워크 내의 스트림 STOCK.STREAM에서 publish되는 토픽 "IBM/Latest"에 subscribe할 수 있습니다.

WebSphere MQ Publish/Subscribe은 스트림 관련 publication이 스트림과 동일한 이름을 가진 큐에만 송신되도록 합니다. 그러나 WebSphere Message Broker은 publish 중인 클라이언트가 메시지 플로우의 모든 입력 큐에 publication을 송신할 수 있도록 합니다. publication 내에서 스트림 이름 매개변수를 지정하도록 명시적으로 선택한 MQRFH 응용프로그램은 WebSphere Message Broker 브로커가 처리하는 어떤 publication 큐로도 해당 publication을 송신할 수 있습니다. 큐의 이름은 스트림의 이름과 같을 필요가 없습니다. 그러나, 이 작동이 publication의 수신 순서에 영향을 줄 수 있습니다. 이것이 응용프로그램에 중요한지 여부를 고려하십시오.

각 Publication 노드에는 함축적 스트림 이름 지정 등록 정보가 있으며 디폴트 값은 true입니다. 이 디폴트 옵션은 MQRFH publication이 명시적 스트림 이름을 포함하지 않았을 때 WebSphere MQ Publish/Subscribe의 작동과 같은 작동이 발생하게 됩니다. 등록 정보가 false이고 publication이 명시적 스트림 이름을 포함하지 않은 경우, SYSTEM.BROKER.DEFAULT.STREAM으로 간주됩니다.

메시지를 publish하는 MQRFH 및 MQRFH2 클라이언트 응용프로그램 모두가 사용할 수 있는 옵션이 다음 표에 있습니다. 이 표에서는 디폴트 스트림 및 예제 스트림 이름 StreamX에서 사용할 수 있는 옵션을 보여줍니다.

  MQRFH publisher   MQRFH2 publisher  
  디폴트 스트림 StreamX 디폴트 스트림 StreamX
MQRFH subscriber S1,P1 S2,P2 S1,P3 S2,P4
MQRFH2 subscriber S3,P1 S4,P2 S3,P3 S4,P4

Subscriber 참고사항

S1
Subscriber는 스트림 이름 "SYSTEM.BROKER.DEFAULT.STREAM"을 동반하거나 동반하지 않고 subscribe합니다.
S2
Subscriber는 스트림 이름 "StreamX"를 동반하여 subscribe합니다.
S3
Subscriber는 "$SYS/STREAM/<streamname>/"을 추가하지 않고 토픽을 subscribe합니다.
S4
Subscriber는 "$SYS/STREAM/StreamX/"를 동반하여 접두부 토픽에 subscribe합니다.

Publisher 참고

P1
Publisher는 스트림 이름 "SYSTEM.BROKER.DEFAULT.STREAM"을 지정하는 모든 큐에서 publish하거나, 함축적 스트림 이름 지정 등록 정보가 거짓으로 설정된 모든 큐에서 스트림 이름을 지정하지 않고 publish합니다.
P2
Publisher는 스트림 이름 "StreamX"을 지정하는 모든 큐에서 publish하거나, 함축적 스트림 이름 지정 등록 정보가 참으로 설정된 큐 "StreamX"에서 스트림 이름을 지정하지 않고 publish합니다.
P3
Publisher는 접두부 "$SYS/STREAM/<Stream>/"을 토픽에 추가하지 않고 모든 큐를 publish합니다.
P4
Publisher는 모든 큐를 publish하며 접두부 "$SYS/STREAM/StreamX/"을 토픽에 추가합니다.
주: "$SYS/STREAM/<streamname>/" 접두부는 MQRFH subscriber에 전달될 때 MQRFH2 publication의 모든 토픽에서 제거됩니다.

스트림 및 이웃 브로커

WebSphere MQ Publish/Subscribe 네트워크에서, 브로커는 동일한 스트림 세트를 이웃으로 지원할 필요가 없습니다. 브로커가 이웃 브로커 중 하나가 지원하는 스트림을 지원하지 않을 경우, 해당 브로커의 클라이언트는 해당 스트림과 연관된 publication을 사용할 수 없습니다.

WebSphere Message Broker 브로커가 네트워크에 조인하면, 이웃 WebSphere MQ Publish/Subscribe 브로커의 모든 스트림을 지원합니다. 즉 WebSphere Message Broker 브로커의 클라이언트는 WebSphere MQ Publish/Subscribe 이웃이 지원하는 모든 스트림의 publication을 대상으로 지정할 수 있습니다.

그러나, 이러한 publication이 사용 가능하게 하려면 스트림 큐를 정의하고 해당 큐를 지원하는 메시지 플로우를 정의하여 WebSphere Message Broker 브로커에 전개해야 합니다.

WebSphere Message Broker 브로커를 다중 스트림 WebSphere MQ Publish/Subscribe 환경에 추가할 때의 효과에 대해서는 다음 그림에 설명되어 있습니다. WebSphere Message Broker 브로커 NEWBROKER는 WebSphere MQ Publish/Subscribe 브로커, BROKERA, BROKERB를 조인하는 데 사용되었습니다.

이기종 네트워크

이기종 네트워크. 이 그림은 <ph conref='edvent.dita#edvent/mqsi'></ph> 브로커 NEWBROKER가 <ph conref='edvent.dita#edvent/sdk'></ph> 브로커, BROKERA, BROKERB 사이에 위치했음을 보여줍니다. 또한 각각의 두 <ph conref='edvent.dita#edvent/sdk'></ph> 브로커와 연관된 스트림도 나열합니다.

WebSphere MQ Publish/Subscribe 네트워크의 모든 브로커는 항상 디폴트 스트림 큐 SYSTEM.BROKER.DEFAULT.STREAM을 지원하며 이기종 네트워크의 모든 WebSphere Message Broker 브로커에서 정의되어야 합니다. 각 브로커에서 이 큐를 처리하려면 메시지 플로우를 정의하고 전개해야 합니다.

WebSphere Message Broker 브로커가 WebSphere MQ Publish/Subscribe 네트워크에 통합되었으며 공통 스트림을 공유하는 둘 이상의 WebSphere MQ Publish/Subscribe 브로커를 링크하는 경우, 공통 스트림 큐를 정의하고 해당 큐를 처리하는 메시지 플로우를 정의하여 WebSphere Message Broker 브로커에 전개해야 합니다.

예를 들면, WebSphere Message Broker 브로커 NEWBROKER는 BULLETIN.STREAM에 대해 정의된 스트림 큐를 가지고 있어야 합니다. 또한 해당 큐에 publication 서비스를 제공하기 위한 메시지 플로우가 정의 및 전개되어야 합니다.

WebSphere MQ Publish/Subscribe 이웃 중 하나가 해당 큐 중 하나로 메시지를 송신할 수 있는 경우에만 그림에 표시된 다른 스트림의 WebSphere Message Broker 브로커로 스트림 큐 및 관련 메시지 플로우를 정의하면 됩니다. 다음 이벤트 중 하나가 발생하면 메시지가 송신됩니다.
  1. 이러한 스트림 중 하나에서 publication으로의 subscription은 WebSphere Message Broker 브로커의 클라이언트에 의해 등록됩니다.
  2. 스트림의 DeletePublication 명령은 브로커 네트워크 내에 있는 클라이언트에 의해 실행됩니다.
위의 경우가 발생할지 여부에 대해 확신할 수 없는 경우, WebSphere MQ Publish/Subscribe 이웃이 지원하는 스트림마다 WebSphere Message Broker 브로커에 스트림 큐와 메시지 플로우를 작성하십시오. 이를 수행하지 않으면 다음이 발생할 수 있습니다.
  • WebSphere MQ Publish/Subscribe 브로커에서 송신된 메시지는 WebSphere Message Broker 브로커에 스트림 큐가 존재하지 않을 경우 해당 브로커의 데드-레터 큐(DLQ)에 넣어집니다.
  • 스트림 큐가 존재하지만 이를 처리할 메시지 플로우가 배치되지 않은 경우 WebSphere Message Broker 브로커의 스트림 큐에서 메시지가 빌드됩니다.

스트림 및 이주

WebSphere MQ Publish/Subscribe 브로커가 WebSphere Message Broker 브로커에 통합된 경우(migmqbrk 명령을 사용하여) 이주 시 지원된 스트림은 WebSphere Message Broker 브로커에 정확히 복제됩니다. 이어서 아무것도 변경되지 않습니다. 즉, 이 복제 세트에 어떠한 스트림도 추가될 수 없으며 이 복제 세트에서 어떠한 스트림도 제거될 수 없습니다. 이러한 모든 스트림을 처리하는 메시지 플로우를 작성하고 배치해야만 이주가 완료됩니다.

관련 태스크
Subscribe
관련 참조
MQRFH2 헤더
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
aq01180_