>백엔드 개발 >C#.Net 튜토리얼 >MSMQ가 무엇인지 설명해보세요

MSMQ가 무엇인지 설명해보세요

怪我咯
怪我咯원래의
2017-03-31 11:46:392477검색

MSMQ(MicroSoft Message Queue, Microsoft Message Queue)는 서로 통신하는 여러 애플리케이션 간의 상호 통신을 구현하는 비동기식 전송 모드입니다. 동일한 컴퓨터 또는 연결된 네트워크 공간의 어느 곳에서나 가능합니다. 구현 원칙은 다음과 같습니다. 메시지 발신자는 보내려는 정보를 컨테이너(우리는 메시지라고 함)에 넣은 다음 이를 시스템의 공용 공간 또는 원격 메시지에 있는 메시지 대기열(메시지 대기열)에 저장합니다. 수신 프로그램은 처리를 위해 대기열에서 보낸 메시지를 꺼냅니다.

메시지 전달 메커니즘에는 두 가지 중요한 개념이 있습니다. 하나는 메시지이고 다른 하나는 큐입니다. 메시지는 의사소통에서 양측이 전달해야 하는 정보이며, 텍스트, 사운드, 이미지 등 다양한 매체로 이루어질 수 있습니다. 메시지의 최종 이해 방법은 메시지 전달과 관련된 양측의 사전 합의가 필요합니다. 이 방법의 장점은 첫째, 데이터를 간단하게 암호화하는 것과 동일하며, 둘째, 자체 정의된 형식을 사용한다는 것입니다. 통신량을 절약할 수 있습니다. 메시지에는 보낸 사람과 받는 사람의 식별 정보가 포함될 수 있으므로 지정된 사용자만 자신에게만 전달된 정보를 볼 수 있고 작업 성공 여부에 대한 영수증을 반환할 수 있습니다. 메시지에는 특정 시간 관련 애플리케이션에 대한 수신자의 처리를 용이하게 하기 위해 타임스탬프 가 포함될 수도 있습니다. 메시지에는 만료 시간도 포함될 수 있습니다. 이는 메시지가 지정된 시간 내에 도착하지 않으면 유효하지 않음을 나타냅니다. 이는 주로 시간과 밀접한 관련이 있는 응용 프로그램에서 사용됩니다.

메시지 큐는 메시지 수신을 위한 공통 저장 공간입니다. 메모리나 실제 파일에 존재할 수 있습니다. 메시지는 빠른 모드(express)복구 가능한 모드(recoverable) 두 가지 방법으로 보낼 수 있습니다. 차이점은 빠른 모드는 메시지를 전달하기 위해 메시지를 배치한다는 것입니다. 복구 가능 모드에서는 더 높은 처리 능력을 얻기 위해 물리적 디스크에 배치하는 대신 메모리에 더 나은 오류 복구 기능을 얻기 위해 전송 프로세스의 각 단계에서 물리적 디스크에 메시지가 기록됩니다. 메시지 큐는 송신자와 수신자가 있는 시스템에 배치되거나 다른 시스템에만 배치될 수 있습니다. 메시지 전달 메커니즘의 신뢰성이 형성되는 것은 바로 메시지 대기열 배치의 유연성 때문입니다. 메시지 대기열을 보유한 컴퓨터가 실패하고 다시 시작되면 복구 가능 모드로 전송된 메시지는 오류가 발생하기 전의 상태로 복원될 수 있지만 빠른 모드로 전송된 메시지는 손실됩니다. 반면, 메시지 전달 메커니즘을 사용하면 발신자는 더 이상 수신자의 시작 여부, 오작동 여부 등과 같은 중요하지 않은 요소에 대해 걱정할 필요가 없습니다. 메시지가 성공적으로 전송되는 한 처리는 완료된 것으로 간주될 수 있지만 실제로는 상대방이 켜지도 않았을 수도 있고, 실제로 거래가 완료된 다음 날이 될 수도 있습니다.

 MSMQ를 사용하면 얻을 수 있는 이점은 비동기식 통신이기 때문에 송신자나 수신자 모두 상대방이 성공 메시지를 반환할 때까지 기다릴 필요가 없고 나머지 코드를 실행할 수 있다는 점입니다. 정보가 전송될 때 정보 전송 메커니즘에는 특정 기능적 오류 복구 기능이 있으며 MSMQ의 메시지 전달 메커니즘을 통해 두 당사자가 서로 다른 물리적 플랫폼을 사용하여 통신할 수 있습니다.

Microsoft의 .net 플랫폼에서 제공하는 MSMQ 기능을 사용하면 메시지 대기열을 쉽게 생성하거나 삭제하고 메시지를 보내거나 받을 수 있으며 메시지 대기열을 관리할 수도 있습니다.

.NET 제품에는 MSMQ 클래스 라이브러리 "System.Messaging.dll" 이 제공됩니다. 메시지 개체와 메시지 큐 개체에 대해 각각 작동하는 두 가지 클래스를 제공합니다. MSMQ 기능을 사용하려면 먼저 MSMQ 메시지 대기열 구성 요소가 컴퓨터에 설치되어 있고 서비스가 실행 중인지 확인해야 합니다. ASP.NET을 사용하여 을 프로그래밍할 때 헤더에

<%@ Assembly Name=”System.Messaging”%>
<%@ Import NameSpace=”System.Messsaging”%>


를 사용하여 MSMQ 클래스 라이브러리를 도입해야 합니다. ASP.NET 문서.


위 내용은 MSMQ가 무엇인지 설명해보세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.