
149
4
장
마이크로서비스 통신 방식
서비스에 호출을 보낸다.
CD
를 찾고, 선반에서 꺼내고, 포장하고, 픽업하는 프로세스는 실제
발송 프로세스의 작동 방식에 따라 몇 시간이 걸릴 수 있고 심지어는 며칠이 소요될 수도 있다.
따라서 주문 처리기가 창고 서비스에 대한 비동기식 논블로킹 호출을 하고 이후 창고 서비스가
역호출
call
back
해 주문 처리기에 진행 상황을 알리는 것이 적절하다. 이것이 바로 비동기 요청 및
응답 통신의 한 형태다.
동기식 블로킹 호출과 유사한 방식으로 시도했다면 주문 처리기와 창고 서비스 간의 상호작용
을 재구성해야 한다. 즉, 주문 처리기가 커넥션을 열어 요청을 보내고, 호출한 스레드에서 추가
작업을 막고, 몇 시간 또는 며칠이 될지 모르는 응답을 기다리는 것은 실현 가능성이 없다.
4.5.24.5.2
단점 단점
동기식 블로킹 통신과 비교해 비동기식 논블로킹 통신의 주요 단점은 복잡도와 선택 범위에 있
다. 이미 설명했듯이 선택 가능한 비동기 통신 방식은 다양하다. 그중 여러분에게 적합한 방식
은 어떤 것일까? 이런 다양한 통신 방식이 어떻게 구현되는지 자세히 살펴보면, 어쩌면 난감할
지도 모를 기술들을 만날 수 있다.
비동기식 통신이 컴퓨팅에 대한 여러분의 사고 모델에 맞지 않는다면 비동기식 통식 방식을 채
택하기는 어려울 것이다. ...