2012-12-06 4 views
6

Azure Service Bus 아키텍처를 이해하는 데는 몇 시간 걸립니다. 이 대기열 기술이 메시지 라우팅을 지원하는 데 사용될 수 있는지 궁금합니다. RabbitMQ의 라우팅 기능과 비슷합니다. http://www.rabbitmq.com/tutorials/tutorial-four-python.htmlWindows Azure 서비스 버스를 사용한 메시지 라우팅

대신 직접 교환을 사용합니다. 직접 교환 뒤에있는 라우팅 알고리즘은 간단합니다. 메시지는 메시지의 라우팅 키와 정확히 일치하는 키의 바인딩에있는 큐로 이동합니다.

이 설정에서는 이라는 두 개의 대기열이있는 직접 교환 X를 볼 수 있습니다. 첫 번째 대기열은 오렌지색 바인딩 키로 바인딩되고 초는 바인딩 키가 두 개인 바인딩과 녹색을 가진 중 하나입니다.

그런 설정에서 라우팅 키 오렌지색을 사용하여 교환기에 게시 된 메시지는 대기열 Q1으로 라우팅됩니다. 의 라우팅 키가 검은 색 또는 녹색 메시지는 Q2로 전송됩니다. 다른 모든 메시지는 무시됩니다.

서비스 버스 아키텍처를 깊이 이해하고있는 누군가를 찾고 이러한 종류의 큐를 구현하기위한 최상의 벡터를 추천합니다.

답변

6

윈도우 Azure 서비스 버스 주제 및 구독은 동일 할 수 있도록 :

  • 가 직접 교환 X가 다음과 같습니다

    enter image description here

    이의이 예에 이미지를 비교 해보자 DataCollectionTopic 이미지에 있습니다.

  • Q1은
  • (레드몬드 Filter 세트에 있음) 대시Subscription
  • Q2는 재고 될Subscription (Filter없이, 모든 메시지들을 수신 할 의미).

사실 매우 간단합니다. 클라이언트가 주제 (대기열과 유사)에 메시지를 보내고이 메시지에 일부 메타 데이터를 추가 할 수 있습니다 (이 메시지는 binding key으로 사용 가능). 이제 주제 자체에서 메시지를 읽지 않아도 주제는 모든 등록에 메시지를 전달합니다. 메시지 라우팅을 구현하려면 SQL과 유사한 구문을 사용하여 하나 이상의 Subscription에 필터를 설정하기 만하면됩니다.

파이썬 튜토리얼 : How to Use Service Bus Topics/Subscriptions

+0

완전히. 이것은 훌륭한 대답과 훌륭한 기능입니다. – Kenn

관련 문제