2011-05-10 5 views
7

.NET에서 RabbitMQ과 샘플을 게시/구독 : Getting Started With RabbitMQ in .net하지만,이 개 프로그램을 만든 :내가이 샘플 구축 한

  • 한 출판사
  • 한 가입자

난을 게시하려면 BasicPublish을 사용하고 예를 들어 BasicAck을 청취하십시오. 게시자로부터 모든 "메시지 보내기"에 대해 한 명의 게시자와 여러 명의 구독자를 운영하는 경우 한 명의 구독자 만 얻을 수 있습니다. 따라서 게시자가 구독자에게 메시지를 보내는 순서 (구독자가 시작됨)가 있으므로 모든 구독자에게 하나의 메시지를 보내려합니다. 그 샘플에 어떤 문제가 있습니까? RabbitMq를 통해 게시자/가입자 메시지 교환의 실제 샘플을 제공 할 수 있습니까?

답변

9

예를 들어 링크를 사용하지 않고 간단한 대기열을 사용하면 단일 소비자 만 메시지를 처리합니다. RabbitMQ에서 pub/sub를 지원하려면 먼저 Exchange를 만들고 각 구독자가 해당 Exchange의 Queue를 바인딩해야합니다. 그런 다음 생성자는 Exchange에 메시지를 보내고 메시지는 바인딩 된 각 큐에 메시지를 게시합니다 (최소한 단순한 팬 아웃 교환 유형을 사용하면됩니다).

Java 샘플 (C#으로 쉽게 변환 될 수 있음)은 here을 참조하십시오.

편집 : 업데이트 닷넷 버전이 here

+0

그냥 자바 코드를 C#으로 변경했습니다. 고맙습니다. – 0x49D1

3

찾을 수 있습니다 나는이 Getting Started With RabbitMQ in .net

+0

고맙습니다 - 지금까지 .NET에서 비동기 구독을 수행 한 본인이 본 유일한 예입니다. 델리게이트에 대한 Invoke 호출은 "복고적"인 것처럼 보입니다 - 더 좋은 방법이 있습니까? – TrueWill