Azure Service Bus와 RabbitMQ를 모두 지원하는 MassTransit v3의 맥락에서이 질문에 대답하겠습니다. Azure를 사용하려는 경우 v2의 전송보다 v3를 적극 권장합니다.
첫째, 요청에 대해. 게시하는 것이 아니라 보내야합니다. 일반적으로 이벤트가 아니라 본질적으로 명령입니다. 사람들이 요청을 게시하는 것을 보는 유일한 이유는 서비스의 끝점 주소가 없기 때문입니다. 따라서 끝점을 아는 것이 많은 도움이됩니다.
둘째, 귀하의 예제에서 모든 WebAPI 인스턴스는 요청자에게 다시 전송되기 때문에 응답을 수신하기위한 자체 대기열이 있어야합니다. MT3를 사용하면 모든 IBus
인스턴스에는 요청의 응답을 처리하기 위해 바로 이러한 목적으로 설정된 고유 한 자동 삭제 대기열이 있습니다.
GitHub의 MassTransit 저장소에 Sample-RequestResponse라는 샘플이 있으며 이는 RabbitMQ로 설정하는 방법을 보여줍니다. Azure Service Bus와 거의 동일합니다.
이 모든 것을 하나로 묶는 "패브릭"은 가상 호스트 (RabbitMQ) 또는 네임 스페이스 (ASB)입니다. 주제와 대기열 사이의 연결은 논리 버스 를 형성하기 위해 함께 작동하는 방식을 결정합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다