2012-11-09 3 views
0

저는 여러 국가에 걸쳐 동일한 웹 사이트가있는 시스템에서 작업합니다. 각 웹 사이트에는 자체 서비스가 있습니다. 모든 것이 잘 작동하지만 항상 메시지를 게시하는 대신 메시지를 보내야한다는 것을 깨달았습니다. 그렇지 않으면 메시지를 전적으로 알고있는 다른 서비스와 완전히 관련이 없습니다. 많은 서비스를 게시하고 관련성을 필터링하는 것은 나에게 무의미한 것으로 들립니다.NServiceBus는 다중 시스템 환경에서 게시합니다.

특정 서비스 하위 집합에 메시지를 게시하려는 경우 어떻게해야합니까? 다른 사람들이이 문제를 어떻게 처리합니까?

답변

0

기본적으로 끝점은 모든 메시지에 가입합니다. 특정 엔드 포인트 만 특정 세트에 등록하게하려면 엔드 포인트를 DoNotAutoSubscribe()로 구성해야합니다. 그런 다음 종점이 Bus.Subscribe()를 사용하여 관심을 가질 각 메시지 유형에 명시 적으로 가입해야합니다.

0

특정 종점 시스템에 대한 관련성을 결정하는 논리를 설명해 주시겠습니까? 게시 및 등록의 목적은 다른 끝점에서 구독 할 수있는 이벤트가 시스템에 있다는 것입니다.
가입자에 대해 알 필요가 없습니다. 관련성을 어떻게 결정합니까?

이러한 메시지가 특정 종점과 관련이없는 경우 왜 이러한 메시지를 구독 하시겠습니까?

0

진정한 이벤트 메시지 인 경우 메시지를 게시해야합니다. 하위 집합에 게시해야하는 경우 해당 끝점에서 사용할 개별 구독 저장소가있을 수 있습니다.

일반적으로 수신 한 이벤트가 관련이 있는지를 결정하기 위해 구독자가 결정해야하지만 일 경우에 정보가있는 경우 개별 구독 저장소로 이동할 수 있습니다.

내 FOSS ESB 프로젝트 (http://shuttle.codeplex.com/)에서 게시 된 메시지를 보내는 구독자 URL을 결정하기 위해 구현을 ESB에 제공해야합니다. 오버 클러킹을 수행하면 필터링을 수행 할 수있는 로직을 포함하는 사용자 정의 구현을 제공 할 수 있습니다. 그렇지 않으면 별도의 구독 저장소.

관련 문제