메시지 큐 및 메시징 기술 배경
업데이트: 2007년 11월
응용 프로그램 개발자는 Microsoft Windows 메시지 큐를 통해 메시지를 송수신하는 방법으로 신속하고 안전하게 응용 프로그램과 통신할 수 있습니다. 이 페이지에서는 MessageQueue 기술을 처음 접하는 사용자를 위해 필수 용어와 개념을 간략하게 소개합니다.
메시징의 핵심 개념
message는 두 대의 컴퓨터 간에 전송되는 데이터의 단위입니다. 메시지는 텍스트 문자열로 구성된 매우 간단한 형식이 될 수도 있고 개체를 포함하는 복잡한 형식이 될 수도 있습니다.
메시지는 큐로 보내집니다. 메시지 큐는 메시지가 전달되는 동안 보관되는 컨테이너입니다. 메시지 큐 관리자는 메시지를 처음 위치에서 목적지까지 전달하는 중개자 역할을 합니다. 큐의 주요 목적은 라우팅을 제공하고 메시지 전달을 보장하는 것입니다. 따라서 메시지를 전송할 때 받는 사람이 수신 가능하지 않으면 메시지가 성공적으로 전달될 때까지 큐에서 메시지를 보관합니다.
Microsoft 메시징 기술인 메시지 큐는 모든 응용 프로그램에 메시징 및 메시지 큐 기능을 제공합니다. 또한 컴퓨터가 모두 같은 네트워크에 있거나 동시에 온라인 상태에 있거나 상관없이 Microsoft Windows가 설치된 모든 컴퓨터 간에 메시징 및 메시지 큐 기능을 제공합니다.
메시지 큐 네트워크는 서로 메시지를 주고 받을 수 있는 모든 컴퓨터 집합입니다. 네트워크의 서로 다른 컴퓨터는 메시징이 원활하게 진행될 수 있도록 서로 다른 역할을 수행합니다. 일부는 정보를 라우팅하여 메시지를 보내는 방법을 결정하고 일부는 전체 네트워크에 대한 핵심 정보를 유지하며 일부는 단순히 메시지를 주고 받습니다.
메시지 큐를 설치하는 동안 관리자는 서로 통신할 수 있는 서버를 결정하고 특정 서버에 대해 특정 역할을 설정할 수 있습니다. 이 메시지 큐 네트워크를 구성하는 컴퓨터를 사이트라고 하며 이들은 사이트 링크를 통해 서로 연결되어 있습니다. 각 사이트 링크에는 연관된 비용이 있습니다. 이는 관리자가 결정하며 메시지를 얼마나 신속하게 전달할 수 있는지를 나타냅니다.
또한 메시지 큐 관리자는 네트워크에 한 대 이상의 컴퓨터를 설치하여 라우팅 서버의 역할을 하도록 합니다. 라우팅 서버는 다양한 사이트 링크의 비용을 조사하고 여러 사이트를 통해 가장 신속하고 효율적으로 메시지를 전달하는 경로를 찾아 메시지를 전달하는 방식을 결정합니다.
다음 그림에서는 메시지 큐 사이트의 일반적인 구성과 상호 작용하는 방식을 보여 줍니다.
사이트 간의 메시지 라우팅
팁: |
---|
효율적인 메시지 전달을 위해 관리자가 메시지 큐 네트워크를 조정할 수 있으므로 개발하는 동안에는 메시지 라우팅에 대한 상세한 지식이 필요하지 않습니다. |
큐의 종류
큐에는 두 가지 주요 범주, 즉 네트워크 사용자가 만드는 큐와 시스템 큐가 있습니다. 사용자가 만드는 큐는 다음과 같습니다.
공개 큐는 메시지 큐 네트워크를 통해 복제되며 네트워크에 의해 연결된 모든 사이트에서 액세스할 수 있습니다.
개인 큐는 전체 네트워크에 표시되지는 않고 개인 큐가 들어 있는 로컬 컴퓨터에서만 사용할 수 있습니다. 개인 큐는 큐의 전체 경로 이름이나 레이블 정보가 있는 응용 프로그램으로만 액세스할 수 있습니다.
관리 큐에는 주어진 메시지 큐 네트워크에서 보낸 메시지를 받았음을 나타내는 확인 메시지가 들어 있습니다. 관리 큐가 있는 경우 MessageQueue 구성 요소에서 사용할 관리 큐를 지정합니다.
응답 큐에는 대상 응용 프로그램에서 메시지를 받았을 때 메시지를 보낸 응용 프로그램에 반환되는 응답 메시지가 들어 있습니다. 응답 큐가 있는 경우 MessageQueue 구성 요소에서 사용할 응답 큐를 지정합니다.
시스템 생성 큐는 일반적으로 다음과 같은 범주로 구분됩니다.
업무 일지 큐는 전송 메시지 복사본과 큐에서 제거한 메시지 복사본을 선별적으로 저장합니다. 각 메시지 큐 클라이언트에서 단일 업무 일지 큐는 해당 컴퓨터에서 보낸 메시지 복사본을 저장합니다. 서버에서는 각 개별 큐에 대해 별도의 업무 일지 큐가 만들어집니다. 이 업무 일지는 해당 큐에서 제거된 메시지를 추적합니다.
배달 못 한 큐는 전달될 수 없거나 기한이 만료된 메시지의 복사본을 저장합니다. 전달될 수 없거나 기한이 만료된 메시지가 트랜잭션 메시지이면 트랜잭션 배달 못 한 큐라는 특수한 배달 못 한 메시지 큐에 저장됩니다. 배달 못 한 메시지는 기한이 만료된 메시지가 있는 컴퓨터에 저장됩니다. 제한 시간 및 만료된 메시지에 대한 자세한 내용은 기본 메시지 속성을 참조하십시오.
보고서 큐에는 메시지가 대상에 도착한 경로를 나타내는 메시지가 있으며 테스트 메시지도 있을 수 있습니다. 각 컴퓨터에는 보고서 큐가 하나씩만 있습니다.
개인 시스템 큐는 시스템에서 메시징 작업을 처리하는 데 필요한 관리 및 확인 메시지를 저장하는 일련의 개인 큐입니다.
응용 프로그램에서 수행하는 대부분의 작업에는 공개 큐와 이 큐의 메시지에 액세스하는 과정이 있습니다. 그러나 대부분 응용 프로그램의 업무 일지 기록, 확인 및 기타 특정 처리 요구에 따라 작업마다 서로 다른 여러 종류의 시스템 큐를 사용합니다.
동기 및 비동기 통신
큐 통신은 큐로 메시지를 보내고 받는 과정이 별도로 진행된다는 점에서 본질적으로비동기입니다. 또한 수신 작업을 비동기적으로 수행할 수 있습니다. 메시지를 받고자 하는 사용자는 주어진 큐에 대해 BeginReceive 메서드를 호출한 다음 응답을 기다리지 않고 즉시 다른 작업을 할 수 있습니다. 이것이 바로 동기 통신과 다른 점입니다.
동기 통신에서, 요청을 보낸 송신자는 수신자의 응답이 있을 때까지 대기한 다음에야 다른 작업을 수행할 수 있습니다. 송신자가 대기하는 시간은 전적으로 수신자에서 요청을 처리하고 응답을 보내는 시간에 달려 있습니다.
참고: |
---|
동기 또는 비동기 메시지 검색은 메시지를 보내는 것과는 별개의 문제입니다. 메시지는 항상 비동기적으로 전송됩니다. |
메시지 큐의 비동기 처리에 대한 자세한 내용은 비동기 메시지 처리를 참조하십시오.
메시지 보안
메시지를 주고 받을 때 다음과 같은 방법으로 보안을 유지할 수 있습니다.
인증을 사용하여 응용 프로그램에서 받는 메시지의 소스를 확인합니다.
암호화를 사용하여 권한이 없는 사람이 메시지를 읽거나 사용하지 못하도록 합니다.
액세스 제어 권한을 사용하여 ACL 기반 보안을 통해 사용자를 제한하고 코드 액세스 보안을 통해 코드를 제한함으로써 컴퓨터의 특정 큐에 메시지를 보내거나 해당 큐에서 메시지를 읽지 못하도록 할 수 있습니다.
감사를 사용하여 메시지 큐 개체에 액세스를 시도하는 사용자, 시도된 작업의 종류 및 액세스 성공 여부를 기록합니다.
자세한 내용은 메시지 큐 보안을 참조하십시오.
메시지 큐 설치
코드나 서버 탐색기에서 메시지 큐를 사용하여 작업하려면 개발 컴퓨터에 메시지 큐가 설치되어 있어야 합니다. 메시지 큐 설치에 대한 내용은 Windows 2000 또는 Windows NT 설명서에서 찾을 수 있습니다. 설치할 때에는 새 네트워크의 허브로 동작할 새 기본 메시지 큐 서버, 기존 네트워크의 독립 클라이언트, 기존 네트워크의 종속 클라이언트 중 어느 것을 만들지를 지정해야 합니다. 대부분의 경우 새 네트워크를 만들 필요는 없고 회사나 작업 그룹의 기존 메시지 큐 네트워크를 연결하면 됩니다.
추가 정보 찾기
이 단원의 나머지 페이지에서는 응용 프로그램에서 메시지 큐 구성 요소를 사용하는 데 필요한 내용을 설명합니다. Visual Studio 또는 .NET Framework와 관련된 설명 이외에 메시징 기술에 대한 추가 정보가 필요하면 MSDN Library와 Microsoft 웹 사이트를 참조하십시오.
추가 정보 |
참조할 Windows 2000 Server 설명서 페이지 |
---|---|
메시지 큐 네트워크 설치 |
메시지 큐 설치 |
일반적인 메시지 큐 개념 |
메시지 큐 이해 |
미세 조정 메시지 큐 성능 |
메시지 큐 관리 |