문제

유통 업체에서 작업을 검색하고 어떤 종류의 메시지를 구독하도록 작업자 역할을하도록 엔드 포인트를 구성 할 수 있습니까?

다음 시나리오가 있습니다 (판매 용어에 적합)

*) 중앙 부서는 지금 매번 출판 한 다음 새로운 가격의 목록을 게시합니다. 모든 근로자에게 통보해야합니다. 즉, 근로자는이 이벤트를 구독해야합니다.

*) 새 주문이 중앙에 도착하면 유통 업체로 보내어 다음 유휴 작업자에게 보냅니다. 즉, 유통 업체로부터 메시지를 수신하도록 작업자를 구성해야합니다. 다음 구성을 사용합니다.

 <MsmqTransportConfig
    InputQueue="worker"
    ErrorQueue="error"
    NumberOfWorkerThreads="2"
    MaxRetries="5"
  />

  <UnicastBusConfig
    DistributorControlAddress="distributorControlBus"
    DistributorDataAddress="distributorDataBus" >    
    <MessageEndpointMappings>
      <add Messages="Events" Endpoint="messagebus" />
    </MessageEndpointMappings>
  </UnicastBusConfig>

작업자로만 구성하거나 가입자로만 구성하면 모든 것이 예상대로 작동하지만 둘 다 구성 할 때는 아닙니다.

메시지가 중앙의 입력 대기열에 중앙의 입력 대기열에 유통 업체의 주소가 작업자 주소 대신 반환 주소로 반환 주소로 도착한다는 것을 발견했으며 게시자는이 경우 가입자를 인식하지 못합니다. 어떤 아이디어? 미리 감사드립니다.

도움이 되었습니까?

해결책

근로자는 그런 식으로 IFAIK에서 사용해서는 안됩니다. 나는 당신의 중앙이 가격을 구독하고 "NewOrderMessage"가 필요한 가격으로 해당 데이터를 풍부하게하고 (아마도 특정 순서의 제품에 대한 가격 만) 입력에 새로운 ProcessOrderRequest를 보냅니다. 유통 업체의 대기열.

또 다른 방법은 주문 요청에 주문 요청을 보내는 프로세스가 주문 요청에 가격을 포함하도록하는 것입니다.

그것이 말이 되는가?

/안드레아스

다른 팁

유통 업체 뒤의 작업자는 여러 논리적 가입자를 처리하는 방법이 아니라 단일 논리 가입자를 확장하는 방법입니다. 요점은 근로자 풀에서 나온 단일 근로자 만 주어진 메시지를 받아야한다는 것입니다.이 경우 모든 근로자가 게시자와 동일하게 보이기를 원합니다. 이것이 배포자의 주소가 주어진 이유입니다.

확장하려는 논리적 가입자가 여러 명 있다면 각각 자체 유통 업체를 제공하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top