서비스 간의 메시징에 사용되는 여러 가지 방법을 이해하려고합니다.서비스 사이의 메시징 이벤트 대 명령
사용자가 제품 생성을 요청했다는 것을 다른 사람에게 알리는 첫 번째 서비스가 필요한 시나리오가 있고 두 번째 서비스에서이 메시지를 받고 제품을 만든 다음 첫 번째 서비스에 대해 제품이 생성되었습니다.
첫 번째 서비스가 특정 서비스를 처리해야하고 피드백을 기다릴 것이므로 요청/응답과 함께 명령이이 시나리오에 적합하다고 생각합니다.
- 는 서비스 간의 느슨한 결합을 제공 : 명령 대
이벤트 :
이벤트
나의 이해는 점이다.
- 은 모든 대기열에 게시를 수행하며 해당 메시지에 관심이있는 서비스는 해당 대기열을 선택합니다.
명령 :
- 특정 큐로 소비 것이다 큐를 이용하여 수신 따라서 만 서비스를 전송하는 수행한다.
요청// 응답 VS 게시 Subsribe :
요청/응답합니다 : 요청에
/응답이에서 반환 될 때까지 작업을 기다립니다 수행하기 위해 다른에서 첫 번째 서비스 요청을 응답 나중에.
게시/구독 :
첫 번째 서비스는 단지 메시지를 게시하고 의견이나 응답을 기다리지 않고 처리를 계속합니다.
게시/구독 방법으로 이벤트를 따르는 것으로 보이는 Masstransit saga (Masstransit.Automatonymous)와 함께 RabbitMQ를 사용하여 메시징 시스템을 디자인하기 시작했습니다.
내 질문은 :
내가 요청에 게시하거나 이벤트와 명령을 사용할 수 있습니다/응답?
내 이해가 정확합니까? 요청/응답과 함께 사용할 수 있습니까?
설명해 주셔서 감사합니다. "사가는 상태 머신 이벤트로 소비되지만 명령과 이벤트가 될 수 있습니다."즉, 사가에서 정의한 이벤트 유형은 메시지를 보내는 방식에 따라 이벤트 나 명령이 될 수 있습니다 ? –
예, 소비자 관점에서 볼 때 (사가는 소비자 집단 일뿐입니다) 이벤트와 명령간에 차이는 없습니다. 단지 메시지 일뿐입니다. 분리는 논리적입니다. –
다시 한번 고마워. 당신은 사가와 명령으로 샘플 프로젝트를 접하게 되었습니까? –