메시지 큐는 MSMQ라고도 하며, Microsoft Windows에 대한 분산 메시징 응용 프로그램을 만드는 개발 도구와 메시징 인프라입니다. 메시지 큐용으로 개발된 응용 프로그램은 임시 저장소 위치인 큐로 메시지를 보냅니다. 여기서 조건이 허용되면 메시지를 메시지의 최종 대상으로 보낼 수 있습니다. 이러한 응용 프로그램은 유형이 다른 네트워크로 통신할 수 있으며 일시적으로 서로 연결할 수 없는 컴퓨터 간에 메시지를 보낼 수 있습니다. 메시지 큐를 사용하면 다음과 같은 이점이 있습니다.

  • 메시지 배달 보장

  • 효과적인 라우팅

  • 보안 강화

  • 트랜잭션 내에서 메시지 보내기 지원

  • 우선 순위 기반 메시징

업계에서는 이러한 기능을 제공하는 소프트웨어 제품을 다음과 같이 부릅니다.

  • 메시지 큐 소프트웨어

  • 축적 전송 소프트웨어

  • 메시지 지향 미들웨어

최종 사용자는 네트워크와 컴퓨터의 현재 상태와 관계없이 메시지 큐를 통해 오프라인 상태의 컴퓨터 및 네트워크 간에 통신할 수 있습니다. 시스템 관리자는 메시지 큐를 사용하여 대규모의 복잡한 컴퓨터 네트워크와 메시지 큐를 효율적으로 관리할 수 있습니다.

이 항목에서는 메시지 큐에서 사용할 수 있는 기능에 대해 설명합니다.

메시지 큐 서버

이 기능은 기본 메시지 큐 기능을 수행할 수 있는 메시지 큐의 핵심 구성 요소입니다. 메시지 큐 서버 기능에 대한 자세한 내용은 "메시지 큐란?"(https://go.microsoft.com/fwlink/?LinkId=93512(페이지는 영문일 수 있음))을 참조하십시오.

디렉터리 서비스 통합

이 기능을 사용하여 큐 속성을 Active Directory에 게시, Active Directory에 등록된 인증서를 사용하여 최신 인증과 암호화 및 사이트 간에 메시지 라우팅을 수행할 수 있습니다. 디렉터리 서비스 통합 기능에 대한 자세한 내용은 "디렉터리 서비스 통합 기능"(https://go.microsoft.com/fwlink/?LinkId=93513(페이지는 영문일 수 있음))을 참조하십시오.

메시지 큐 트리거

이 기능을 사용하여 지정된 큐에서 받는 메시지에 대해 정의하는 필터에 따라 COM 구성 요소나 실행 파일을 호출할 수 있습니다. 메시지 큐 트리거 기능에 대한 자세한 내용은 "트리거 개요"(https://go.microsoft.com/fwlink/?LinkId=93514(페이지는 영문일 수 있음))를 참조하십시오.

HTTP 지원

이 기능을 사용하여 HTTP를 통해 메시지를 주고받을 수 있습니다. HTTP 지원 기능에 대한 자세한 내용은 "인터넷 메시지"(https://go.microsoft.com/fwlink/?LinkId=93515(페이지는 영문일 수 있음))를 참조하십시오.

멀티캐스팅 지원

이 기능을 사용하여 멀티캐스트 메시지를 대기하고 멀티캐스트 IP 주소로 보낼 수 있습니다. 멀티캐스팅 지원 기능에 대한 자세한 내용은 "IP 멀티캐스팅"(https://go.microsoft.com/fwlink/?LinkId=93516(페이지는 영문일 수 있음))을 참조하십시오.

라우팅 서비스

이 기능은 다른 사이트 간 및 특정 사이트 내에서 메시지를 라우팅합니다. 라우팅 서비스 기능에 대한 자세한 내용은 "메시지 큐 라우팅"(https://go.microsoft.com/fwlink/?LinkId=93517(페이지는 영문일 수 있음))을 참조하십시오.

메시지 큐 DCOM 프록시

이 기능을 사용하여 MSMQ DCOM API에서 원격 메시지 큐 서버에 연결할 수 있습니다.

하위 큐

이 기능을 사용하면 다른 실제 큐를 만들지 않고 큐의 메시지를 논리적으로 그룹화할 수 있습니다. 하위 큐는 실제 큐의 논리 파티션으로서 암시적으로 만들어진 로컬 큐입니다. 응용 프로그램에서는 하위 큐를 사용하여 메시지를 그룹화합니다.

메시지 이동

다음 세 가지 방법 중 하나로 메시지를 이동할 수 있습니다.

  • 메시지 이동 대화 상자 사용

  • 잘라내기/붙여넣기 작업 수행

  • 끌어서 놓기 작업 수행

동일한 주 큐의 하위 큐 간이나 주 큐에서 하위 큐로 메시지를 이동할 수 있습니다. 주 큐에서 다른 주 큐의 하위 큐로 메시지를 이동하거나 두 개의 주 큐 간 또는 서로 다른 주 큐의 두 하위 큐 간에 메시지를 이동할 수는 없습니다.

메시지는 소스 큐에서 대상 큐로 있는 그대로 이동됩니다. 현재 이동 횟수를 제외하고 메시지 속성은 변경되지 않습니다.

응용 프로그램별 배달 못한 편지 큐

그러나 메시지 큐 4.0에서는 응용 프로그램별 배달 못한 편지 큐가 도입되었으므로 각 응용 프로그램에서 독자적으로 배달 못한 편지 큐를 사용할 수 있습니다. 응용 프로그램에서는 메시지의 일부로 PROPID_M_DEADLETTER_QUEUE 속성을 사용하여 독자적인 배달 못한 편지 큐를 요청할 수 있습니다. 메시지는 배달 못한 시스템 트랜잭션 편지 큐로 보내지지 않고 PROPID_M_DEADLETTER_QUEUE 속성에 지정된 큐로 보내집니다.

PROPID_M_DEADLETTER_QUEUE는 트랜잭션 큐의 모든 올바른 경로로 설정할 수 있습니다. 트랜잭션 큐는 NACK(부정 응답) 메시지를 큐로 이동할 큐 관리자에 대해 로컬 상태여야 합니다. 올바른 경로는 "큐 경로 이름"(https://go.microsoft.com/fwlink/?LinkId=69583(페이지는 영문일 수 있음))에 정의되어 있습니다.

트랜잭션 원격 수신

트랜잭션 원격 수신은 원격 큐의 메시지에 대한 트랜잭션 수신입니다. 트랜잭션 원격 수신이 필요한 경우가 있습니다. 예를 들어 원격 중앙 큐의 작업 주문을 응용 프로그램 서버 팜에서 처리해야 할 경우 트랜잭션 원격 수신을 사용하여 메시지 처리의 부하가 서버 팜 전체에 분산되도록 할 수 있습니다.

많은 메시지 큐를 처리할 수 있는 기능

다음은 Windows 7 및 Windows Server 2008 R2와 함께 릴리스된 메시지 큐 5.0에서 새로 도입된 기능입니다.

메시지 큐 5.0은 메시지 큐 4.0보다 훨씬 더 많은 수의 큐를 처리할 수 있는 기능을 제공합니다. 메시지 큐 4.0에서는 만들 수 있는 큐 수에 대한 제한은 없었지만 만들어진 큐가 몇 천 개가 될 경우 성능이 저하되었습니다. 특히 사용되는 큐 조회 알고리즘으로 인해 매우 많은 큐를 메모리로 로드할 때 메시지 큐 4.0 서비스의 시작 시간이 크게 늘어났습니다. 하지만 메시지 큐 5.0에서 시작 시 사용되는 큐 조회 알고리즘은 최적화되었으므로 시스템에서 매우 많은 수의 큐가 호스팅되는 경우에도 메시지 큐의 시작 성능이 크게 향상되었습니다.

추가 참조


목차