MSA 환경에서는 마이크로서비스끼리 통신을 해야 한다. 이 때, 통신 방식은 크게 동기와 비동기 방식으로 나뉜다. 이전까지 프로젝트에서 사용했던 REST API 기반의 통신 방식이 대표적인 동기 통신 방식이 있다. 그리고 Kafka와 같은 메시지 큐를 활용해 메시징 기반으로 통신하는 방식이 비동기 통신 방식이다.
MSA 환경에서는 이 2가지 통신 방식 중 하나의 통신 방식만 사용해야 하는 건 아니다. 두 가지 방식을 혼용해서 사용하는 경우가 많다. 그렇기 때문에 언제 동기 방식으로 통신하는 게 좋고, 언제 비동기 방식으로 통신하는 지를 판단할 수 있어야 한다. 그 차이점에 대해 알아보자.