
88
1
부
기초
시간적 결합이 항상 나쁜 것은 아니지만, 인지해둘 필요는 있다. 마이크로서비스가 늘어나 상호작용이 더 복
잡해지면 시간적 결합 문제가 증가하므로 시스템을 확장하고 작동 상태를 유지하기가 더 어려워질 수 있다.
시간적 결합을 피하는 한 가지 방법은 메시지 브로커와 같은 비동기 통신 형태를 사용하는 것이다.
2.3.22.3.2
통과 결합 통과 결합
통과 결합통과 결합
pass
-
through
coupling
88
은 데이터가 다른 하위 마이크로서비스에 필요하다는 이유만으로 한
마이크로서비스가 다른 마이크로서비스에 데이터를 전달하는 상황을 말한다. 여러 면에서 이
상황은 결합을 구현하는 데 가장 많은 문제를 유발하는 형태 중 하나다. 호출자가 호출 중인 마
이크로서비스가 다른 마이크로서비스를 호출한다는 것을 알고 있을 뿐 아니라 잠재적으로 한
단계 떨어진 그 마이크로서비스까지 어떻게 동작하는지 알아야 한다는 점을 의미하기 때문이다.
통과 결합의 한 예로 뮤직코프의 주문 처리 방식을 좀 더 자세히 살펴보자. [그림
2
-
4
]에서 주
문 처리기는 주문 발송을 준비하기 위해 창고 서비스에 요청을 보낸다. 요청 페이로드에 배송
목록 (
Shipping
Manifest
)을 포함해 전송하며, 이 배송 목록에는 고객의 주소뿐 아니라 배
송 유형도 포함돼 있다. 창고 서비스는 ...