2010-07-31 6 views
1

기본적으로 모든 MT 구독자가 DB 구독 저장소에 액세스하는 논리적 게시가 있습니다. 이러한 MT는 일반적으로 1/2 회전에서 새 MT 버전을 설치하고 온라인 상태로 되돌리고 나머지 절반을 반복하여 업그레이드됩니다.NServiceBus : DB 구독 저장소를 사용할 때 구독자를 구성하는 방법

구독자가 어떻게 그러한 발행물에 가입하는지 혼란 스럽습니다. 필자가 보았던 모든 예제에서 구독자는 구독 요청을 받기 위해 게시자의 InputQueue를 구성에 지정해야합니다. 그러나이 상황에서 InputQueue는 무엇을 지정합니까? 내 발행인 MT가 다운 된 경우 가입이 실패하는 것을 원하지 않습니다. DB 구독 저장소에 레코드를 추가하여 수동으로 구독 할 수 있습니까?

답변

0

게시자는 대개 클라이언트에서 일부 명령을 처리 한 결과로 게시하므로 일반적으로 배포자를 사용하여 DB 구독 저장소를 사용합니다. 구독자는 다른 종류의 클라이언트이므로 배포자를 가리 키도록 구성 할 수도 있습니다.

+0

게시자 노드 앞에 배포자를 배치하여 들어오는 가입 요청을 수락 할 수 있습니다. 말이된다! 그러나 제 시나리오를 감안할 때, 저는 이런 식으로 출판사를 다루는 것에 대한 생각을 좋아하지 않습니다. 기본적으로, NServiceBus의 일반적인 동작은 구독자가 시작될 때마다 멱등하고 "subscribe me"메시지를 게시자에게 보내는 메시지를 좋아하지 않습니다. 구독자 작업자 노드를 배포하고 배포자를 설치하고 구독을 등록 (DB에 레코드 추가)하는 데 하나의 설치 스크립트를 사용하는 것이 좋습니다. 이게 효과가 있니? – skb

+0

물론 가능합니다. 초기화 코드에서 .UnicastBus() 다음에 .DoNotAutoSubscribe()를 추가하십시오. –

관련 문제