2011-02-11 6 views
2

메시징 응용 프로그램 프로그래밍 및 메시지 큐 사용에 대해 자세히 알고 싶습니다. qpid, Amazon Queues 등과 같은 것들이 있습니다. 가능한 경우 더 많은 것을 배울 수 있도록 일부 응용 프로그램 (가능하면 C++, 가능하면 오픈 소스)을 가르쳐 주시겠습니까?메시지 큐를 사용하는 응용 프로그램의 좋은 예

또한 메시지 대기열을 사용하지 않을지 여부를 결정하는 데 사용하는 일반 지침을 알려줄 수 있습니까? 나는 '차가움'요인에 대해 이것에 대해서만 기울이기에 흥미 롭다.하지만 나는 그것이 미래에 나에게 도움이 될 것이라고 생각한다.

답변

5

RabbitMQ은 제가 가장 잘 알고있는 메시지 대기열입니다. 그것은 qpid와 마찬가지로 AMQP를 구현합니다. AMQP는 널리 사용되는 유선 프로토콜이며 C++, Java, Ruby, .NET, Python 등과 같은 많은 클라이언트 라이브러리가 있습니다.

분산 서비스가 불안정하고 항상 온라인 상태가 아닌 경우, 견고한 메시지 대기열. 그런 다음 분산 서비스가 다시 가동 될 때 메시지가 배달됩니다.

분산 서비스의 대기 시간이 짧고 클라이언트 서비스가 분산 서비스에서 처리 할 수있는 것보다 많은 요청을 생성하는 경우 분산 서비스에서 처리 할 수있을 때까지 대기열에서 메시지를 처리하고 클라이언트는 처리를 허용합니다.

요청을 여러 서비스에 배포해야하는 경우 Exchange는 각 분산 서비스에 한 번만 메시지를 전달하는 것과 같은 중요한 세부 사항을 처리합니다.

원격 서비스에 대한 동기식 호출이 필요할 때 메시지 대기열을 사용하지 않는 것이 좋습니다. 메시지 대기열은 기본적으로 비동기식입니다.

+0

대단한 설명. 감사. – Rodney

0

프로그래밍 언어가 아니지만 메시지 대기열을 사용하여 프로그래밍 할 때 유용한 도구는 Promela/Spin입니다. 분산 시스템에서 발생할 수있는 교착 상태 또는 기타 동시성 문제를 식별하도록 설계되었습니다. 확실히 식별 할 수있는 종류의 문제를 보면서 발생할 수있는 문제에 대한 아이디어를 얻을 수 있습니다.

0

Eclipse IDE에 작성된 내용을 모르는 경우 메시지 대기열 시스템이있는 것 같습니다. 바쁜 (읽기, 지연 등 ...) 메시지가 나타날 때마다 "공백을 수행하기 전에 사용자 작업 전에"을 보게됩니다. Eclipse는 오픈 소스입니다. 나는 소스 코드를 어디에서 다운로드해야할지 모르겠다. 그러나 그것이 설치와 함께 올 것이라고 믿는다. - http://www.eclipse.org/downloads/. 최신 3.6 (helios)

관련 문제