다음을 통해 공유


BizTalk Message Queuing Large Message Extension

네이티브 메시지 큐는 본문이 4MB를 초과하는 메시지를 처리할 수 없습니다. 그러나 Microsoft BizTalk Server 4MB보다 큰 메시지 처리를 허용하는 네이티브 메시지 큐에 대한 추가 기능이 포함되어 있습니다. 이 추가 기능은 Mqrtlarge.dll 파일로 제공되고 MQSendLargeMessageMQReceiveLargeMessage API(애플리케이션 프로그래밍 인터페이스) 및 유사한 COM 모델을 노출합니다. 이러한 함수는 각각 표준 메시지 큐 API, MQSendMessageMQReceiveMessage 로 구현됩니다.

큰 메시지 교환에 참여하기 위해서는 메시지 큐 컴퓨터에 Mqrtlarge.dll 파일이 설치되어 있어야 하며 메시지 큐 응용 프로그램은 해당 추가 기능의 API를 사용해야 합니다. 그렇지 않으면 전체 메시지가 조각화됩니다.

SDK에서의 위치

<설치 경로>\SDK\ Mqrtlarge.dll

파일 인벤토리

다음 표는 이 유틸리티에서 사용하는 파일을 보여 주고 각각의 용도에 대해 설명합니다.

파일 Description
Mqrtlarge.dll MQSendLargeMessageMQReceiveLargeMessage를 노출하는 Win32 동적 링크 라이브러리입니다.

헤더 파일은 설치 경로>\SDK\Include 디렉터리에 있습니다<. 참고: 64비트 버전의 Mqrtlarge.dll 액세스하려면 64비트 버전의 Windows에 BizTalk Server 설치해야 합니다.

이 유틸리티 사용

다음 절차에 따라 Mqrtlarge.dll 파일을 실행할 수 있습니다.

Mqrtlarge.dll 파일을 사용하려면 다음을 수행하십시오.

  1. 참고

    BizTalk Server 없는 MSMQ 솔루션의 경우 MQRTLarge.dll 여전히 올바르게 작동할 수 있습니다. 그러나 이는 Microsoft에서 지원하는 권장 구성이 아니며, BizTalk Server 환경 외부에서 사용하는 경우 예기치 않은 결과가 발생할 수 있습니다.

    BizTalk Server 설치가 포함되어 있지 않은 컴퓨터에 Mqrtlarge.dll 파일을 추가합니다. 메시지 큐는 Mqrtlarge.dll을 사용하여 BizTalk Server와 메시지를 주고 받습니다.

  2. Mqrtlarge.dll 파일의 API에 액세스하려면 다른 컴퓨터와 메시지를 주고 받는 응용 프로그램의 Mqrtlarge.dll 파일에 대한 참조를 BizTalk 메시지 큐 엔드포인트에 추가합니다.

    주의

    큰 메시지는 표준 메시지 큐(MSMQ라고도 함)로 전송됩니다. 강제 실행되지는 않지만 이러한 큐에서는 큰 메시지 API만 사용해야 합니다.

    MQSendMessage를 사용하여 큰 메시지를 보낸 큐에 메시지를 보낼 수 있습니다. 마찬가지로 MQReceiveMessage 를 사용하여 이러한 큐에서 메시지를 받을 수 있지만 MQReceiveLargeMessage API의 성능에 영향을 줄 수 있으므로 권장되지 않습니다.

    복구를 위해 DEAD_LETTER 저널링을 사용하는 것이 좋습니다.

    조각화

    일반적으로 큰 메시지는 각각 4MB보다 작은 여러 개의 메시지로 조각화됩니다. 본문만 조각화된다는 것을 알아야 합니다. 나머지 속성은 각 조각과 함께 전송됩니다.

    조각 수는 메시지 크기와 조각 크기에 따라 정의됩니다. 조각 크기는 Mqrtlarge.dll 파일이나 BizTalk 메시지 큐의 해당 부분에서 자동으로 결정될 수 있습니다. 응용 프로그램에서 명시적으로 조각 크기를 지정할 수도 있습니다.

    큰 메시지를 확장하려면 일정한 크기의 내부 데이터를 추가하여 메시지를 확장해야 합니다.

    PROPID_M_EXTENSION

    PROPID_M_EXTENSION/PROPID_M_EXTENSION_LEN 속성을 사용하여 메시지에 서명할 수 있습니다. 서명은 40바이트로 구성됩니다. 다음 표는 서명 조각을 보여 줍니다.

설명 크기
이 메시지가 MQSendLargeMessage를 사용하여 전송되었음을 나타내는 GUID(Globally Unique Identifier) 16 B
메시지의 GUID: 메시지의 모든 부분에 공통적인 고유한 큰 메시지별 ID입니다. 16 B
큰 메시지의 전체 크기 4 B
부품 번호 2 B
메시지 파트의 개수입니다. 2 B

PROPID_M_EXTENSION 사용하기로 한 결정은 추가적인 영향을 미칩니다. Microsoft Host Integration Server MSMQ-MQSeries 브리지는 이 속성을 사용하여 MQSeries와 메시지 큐 메시지 간에 직접 매핑되지 않은 속성이 포함된 구조를 전달합니다. 명시적 또는 암시적으로 MQSeries와 메시지를 주고 받는 응용 프로그램은 이 구조를 사용합니다. 수신 응용 프로그램이 큐에서 메시지를 받으면 메시지 큐에서 승인을 생성할 수 있습니다. 이 승인은 송신 응용 프로그램이 지정한 큐로 전송됩니다. 큰 메시지의 경우 큰 메시지의 마지막 파트에 대해서만 이 승인을 보냅니다.

참고 항목

SDK의 유틸리티