C#

MSMQ ( Microsoft SQL Server Integration Services)

검은고양이개발자 2024. 3. 8. 15:00
반응형

WCF (Windows Communication Foundation)을 MSMQ 위의 추상화 계층으로 사용할 수 있다.

이렇게 하면 단방향 작업으로만 서비스를 사용하는 느낌을 받을 수 있다.

 

MSMQ와 WebService 사이에는 관계가 없다. 프로세스 간 통신에 MSMQ 사용 (소켓, Windows 메시징, 매핑된 메모리도 사용할 수 있음) 누군가 메시지를 대기열에서 뺄 때까지 메시지를 보관하는 Windows 서비스입니다.

메시지가 하드 디스크에 저장되기 때문에 소켓보다 더 신뢰할 수 있지만 다른 IPC 기술보다 느립니다.

 

간단한 코드 줄로 .NET  에서 MSMQ를 사용할 수 있으며 MessageQueue 개체와 호출 Receive 및 Send 메서드를 선언할 수 있습니다. 메시지 자체는 일반 문자열 또는 이진 데이터 일 수 있습니다.

 

MSMQ는 메시지 대기열로 사용된다. 메시지는 실제 데이터, 객체 및 직렬화하여 유선을 통해 전송할 수 있는 모든 것에 대한 래퍼가 될 수 있습니다. MSMQ에는 자체 한계가 있습니다.

MSMQ 1.0 및 MSMQ 2.0에는 4MB 메시지 제한이 있습니다. 이 제한은 MSMQ 3.0에서 해제되었습니다.

MOM (Message oriented Middleware) 은 메시징에 크게 의존하는 개념입니다.

엔터프라이즈 서비스 버스 기반은 메시징을 기반으로 합니다. 이러한 모든 새로운 기술은 안정성 있는 비동기 데이터 전달을 위해 메시징에 의존합니다.

 

https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms711472(v=vs.85)?redirectedfrom=MSDN

 

Message Queuing (MSMQ)

Table of contents Message Queuing (MSMQ) Article 10/19/2016 In this article --> Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Pr

learn.microsoft.com

- 16년 메시지 큐에 대한 공식문서 설명

 

MSMQ 간단 설명

- 별도의 서버 / 프로세스에서 실행되는 응용 프로그램이 안전한 방식으로 통신할 수 있도록 하는 메시징 프로토콜입니다.

- MSMQ는 일반적으로 기업에서 소프트웨어 구축을 위해 사용되었습니다.

- MSMQ는 의도 한 대상에 도달하지 못한 메시지를 대기열에 넣은 다음 대상에 도달할 수 있게 되면 다시 전송하여 안정적인 배달을 보장합니다.

- MSMQ는 트랜잭션도 지원합니다. 모든 작업을 단일 트랜잭션으로 래핑 하여 여러 큐에서 여러 작업을 허용하므로 모든 작업이 적용되거나 적용되지 않습니다.

- MSMQ(Message Queuing) 기술을 사용하면 서로 다른 시간에 실행되는 응용 프로그램이 일시적으로 오프라인 상태일 수 있는 이기종 네트워크 및 시스템 간에 통신할 수 있습니다. 

- 다음 포트는 Microsoft 메시지 큐 작업에 사용됩니다. 

TCP : 1801

RPC : 135, 2101 , 2103, 2105

UDP : 3527, 1801

 

- 메시지를 형식화된 방식으로 저장하여 DB로 전달할 수 있는 대기열입니다 (동일한 컴퓨터 또는 서버에 있을 수 있음). 메시지를 분류하는 여러 유형의 대기열이 있습니다. 메시지 내부에 문제 / 오류가 있거나 잘못된 메시지가 전달되면 자동으로 Dead queue로 이동하여 더 이상 처리되지 않음을 나타냅니다. 그러나 메시지를 데드 큐로 전달하기 전에 최대 카운트를 재 시도하고 처리되지 않을 때까지 데드 큐로 보낼 수 있습니다. 일반적으로 클라이언트 컴퓨터에서 서버 또는 DB로 로그 메시지를 보내는 데 사용되므로 클라이언트 컴퓨터에서 문제가 발생하면 개발자 또는 지원 팀이 로그를 통해 문제를 해결할 수 있습니다. MSMQ는 Microsoft에서 제공하는 서비스로 로그 파일의 기록을 가져오고 로그 파일을 사용하여 설루션을 쉽게 얻을 수 있습니다. 이 블로그에서 더 나은 아이디어를 얻을 수 있습니다.

반응형