마이크로 서비스는 컨텍스트를 구분하고 더 작은 모델을 생성 할 수있는 좋은 방법이라는 것을 알고 있습니다. 디커플링을 달성하는 방법 중 하나는 마이크로 서비스 간의 비동기 게시/구독 통신입니다. 동기식 통신 마이크로 서비스
는 이제 가 요청을 처리하는 담당 마이크로 서비스를 가정 해 봅시다하고 마이크로 서비스 B에 저장되어있는 정보를 필요로합니다. 이 문제를 해결하는 방법 중 하나는 마이크로 서비스 을 마이크로 서비스 B의 이벤트에 구독하고 필요한 데이터를 해당 데이터 저장소에 복사하여 향후 처리에 사용하는 것입니다. 사용자가 마이크로 서비스 에 요청을 보내는 경우자, 뭔가, 마이크로 서비스를 처리하는 마이크로 서비스에서 최신 이벤트를 처리하지 않은 것은 B, 그것을 사용하는 더 좋은 방법이 될 것입니다 동기식 통신을 사용하고 해당 데이터의 일부를 직접 요청합니까? 그렇다면 현재 디자인과 커플 링에 대한 "위반"으로 간주됩니까?
잘못된 모델링으로 간주 될 수 있습니까? 그러한 경우 - 데이터가 컨텍스트에 필요하면 시작부터 해당 컨텍스트의 일부 여야합니다.
"내 생각에,이 패턴에 갇혀 있다면 B와 동 기적으로 통신 할 수 있지만 B를 사용할 수없는 경우에는 해당 데이터에 대한 로컬 캐시가 있습니다." 이것은 물론 캐시 된 데이터로 작업하는 것이 비즈니스에서 허용되는 경우에만 작동합니다. 그렇지 않으면 A가 데이터를 소유하거나 예외를 throw해야합니까? – Robert