본문으로 이동

마이크로소프트 메시징 큐잉

위키백과, 우리 모두의 백과사전.

마이크로소프트 메시징 큐잉(MSMQ)은 마이크로소프트가 개발하여 윈도우 NT 4 및 윈도우 95부터 윈도우 서버 운영 체제에 탑재된 메시지 큐 구현체이다. 윈도우 서버 2016 및 윈도우 10에도 이 구성 요소가 포함되어 있다. 주류 서버 플랫폼 지원 외에도, MSMQ는 1999년 윈도우 CE 3.0 출시 이후 마이크로소프트의 임베디드 플랫폼에도 통합되었다.[1]

개요

[편집]

MSMQ는 서로 다른 서버나 프로세스에서 실행되는 애플리케이션들이 안전하게 통신할 수 있도록 하는 메시징 프로토콜이다. 큐는 메시지를 안정적으로 보내고 받을 수 있는 임시 저장소로, 조건이 허용될 때 메시지를 처리한다. 이를 통해 항상 연결되어 있지 않을 수도 있는 윈도우 실행 컴퓨터 간의 네트워크 통신을 가능하게 한다. 반면, 소켓이나 다른 네트워크 프로토콜은 직접적인 연결이 항상 존재한다고 가정한다.

MSMQ는 1997년부터 마이크로소프트 플랫폼의 개발자들에게 제공되었으며,[2] 비주얼 스튜디오로 구축된 엔터프라이즈 소프트웨어에서 흔히 사용되어 왔다. 여기에는 .NET 이전의 네이티브 버전(버전 5 및 6)과 .NET 버전이 모두 포함된다. 마이크로소프트는 또한 자사의 메시징 기술 프레임워크인 윈도우 커뮤니케이션 파운데이션(WCF)에 MSMQ를 통합했다. WCF 환경에서 MSMQ는 다른 통신 표준과 호환되는 통합 프로그래밍 모델을 통해 안전하고 신뢰할 수 있는 전송을 제공하는 데 사용될 수 있다.

MSMQ는 엔터프라이즈 내외부의 애플리케이션 간에 메시지를 신뢰성 있게 전달하는 역할을 한다. 목적지에 도달하지 못한 메시지를 큐에 담아두었다가 목적지 연결이 가능해지면 재전송하는 방식으로 신뢰성을 보장한다. 또한 보안 및 우선순위 기반 메시징을 지원한다. 타임아웃이나 기타 이유로 실패한 메시지를 확인하기 위해 데드 레터 큐를 생성할 수 있다.

MSMQ는 메시지를 디스크에 쓰거나 RAM에만 유지하는 방식을 통해 성능과 일관성 사이에서 선택할 수 있도록 내구성 있는 메시징과 그렇지 않은 메시징을 모두 지원한다. 내구성이 없는 메시징은 트랜잭션이 아닌 큐를 통해 빠른 메시지를 보낼 때만 가능하다.

MSMQ는 트랜잭션도 지원한다. 여러 큐에 대한 여러 작업을 단일 트랜잭션으로 묶어 처리할 수 있으며, 이를 통해 모든 작업이 완료되거나 혹은 아무 작업도 실행되지 않음을 보장한다. 마이크로소프트 분산 트랜잭션 코디네이터(MSDTC)는 MSMQ 및 기타 리소스에 대한 트랜잭션 액세스를 지원하여 트랜잭션 단위의 단일 처리(exact once processing)를 달성한다.

마이크로소프트 메시징 큐잉 작업에는 다음 포트가 사용된다.

  • TCP: 1801
  • RPC: 135, 2101*, 2103*, 2105*
  • UDP: 3527, 1801
  • * 메시지 큐 초기화 시 RPC 포트의 초기 선택 항목이 사용 중인 경우, 이 포트 번호는 11만큼 증가할 수 있다. 135번 포트는 2xxx 포트를 찾기 위해 조회된다.[3]

버전 참조

[편집]

용도

[편집]

MSMQ는 내부 알림 및 서비스를 위해 이 서비스를 사용하는 다양한 윈도우 플랫폼 기반 컨택 센터 애플리케이션에서 광범위하게 사용된다.

같이 보기

[편집]

각주

[편집]
  1. ↑ “Microsoft Windows CE 3.0 Message Queuing Service”. Microsoft Developer Network. 2006년 6월 29일. 2009년 11월 25일에 확인함.
  2. ↑ InformationWeek News Connects The Business Technology Community. Informationweek.com (2014-02-04). Retrieved on 2014-02-22. 보관됨 4월 10, 2008 - 웨이백 머신
  3. ↑ TCP ports, UDP ports, and RPC ports that are used by Message Queuing. Support.microsoft.com (2011-09-28). Retrieved on 2014-02-22.
  4. ↑ “Cloud Administrator”. 《Azure Cloud Administrator》. Dayasagar Roy. 2018년 11월 24일에 원본 문서에서 보존된 문서. 2006년 8월 5일에 확인함.
  5. ↑ “Cloud Administrator”. 《Azure》. Dayasagar Roy. 2018년 11월 24일에 원본 문서에서 보존된 문서. 2006년 8월 5일에 확인함.
  6. ↑ “Cloud Administrator”. 《Azure》. Dayasagar Roy. 2018년 11월 24일에 원본 문서에서 보존된 문서. 2006년 8월 5일에 확인함.
  7. ↑ Sub-queues in MSMQ 4.0
  8. ↑ “Cloud Administrator”. 《Azure》. Dayasagar Roy. 2006년 8월 5일에 확인함.
  9. ↑ “ISO/IEC 19464:2014 - Information technology -- Advanced Message Queuing Protocol (AMQP) v1.0 specification” (영어). 《www.iso.org》. 2017년 11월 7일에 확인함.

외부 링크

[편집]