UnicastBusConfig, MsmqTransportConfig, 및 MSMQ 대기열 간의 관계로 인해 혼란스러워합니다. 워드 프로세서 상태 :NServiceBus - 두 게시자, 하나의 구독자, 동일한 메시지 인터페이스
나는 각 것을 믿는 수정
이 있습니까 "구독자에서 버스가 게시자에 가입하는 방법은 섹션에 구성되어있는 큐에 메시지를 보내 입니다" 구독자는 메시지 구독자가 처리 할 수있는 메시지를 게시 할 수있는 각 게시자의 끝점 (또는 큐)으로 MessageEndpointMapping을 다시 포함해야합니까?그런 경우 동일한 메시지 유형에 대해 MessageEndpointMapping을 두 개 이상 구성하는 방법은 무엇입니까? 중복 값을 가질 수 없습니다. 이것에 대한
<UnicastBusConfig>
<MessageEndpointMappings>
<add Messages="MyAssembly" Endpoint="Publisher1" />
<add Messages="MyAssembly" Endpoint="Publisher2" /> <-- runtime exception
</MessageEndpointMappings>
</UnicastBusConfig>
비즈니스 케이스는 간단하다 : MyAssembly.IDoStuff 주어진
예를 들어은 내가 IDoStuff 한 가입자를 게시 두 출판사가 있다고 가정. 구독자가 파일을 가져 와서 FTP에서 가져 오는 FTP 프로세스라고 가정 해보십시오. 당연히 당신은 기업 전체의 여러 곳에서 그 기능을 사용하고 싶을 것입니다. 따라서 ISendFile을 처리하고 FTP 기능을 필요로하는 각 Publisher 프로세스에 ISendFile 메시지를 게시하는 FTP 구독자를 갖는 것이 좋습니다. 이것은 내가 실행하고있는 정확한 시나리오입니다. 그리고 그 주위에 방법이 보이지 않습니다.
감사합니다.
bus.Send은 작업을 완료하지만 잘못되었습니다. 하나의 구독자에게 여러 게시자의 문제를 해결하지만 여러 구독자가 필요할 때 어떻게됩니까? 그런 다음 버스로 되돌려 야합니다. 을 게시하고 배급 업체를 이용하십시오. 그 말이 맞는 것 같아요. 그러나 보내기 대 게시 구성은 너무 복잡하다고 느낍니다. –
znelson
동일한 논리 메시지에 대해 여러 게시자가있는 경우를 생각합니다. 동일한 CustomerStatusUpdated 이벤트를 게시하는 이전 + 새 CRM 시스템을 생각해보십시오. 이것은 지원되며, 엔드 포인트간에 서브 스크립 션 스토리지를 공유하면 구독자가 (아마도 새로운 CRM) –