
171
5
장
마이크로서비스의 통신 구현
이전 장에서 논의했듯이 어떤 기술을 선택할지는 원하는 통신 방식에 따라 대부분 결정돼야 한
다. 따라서 동기식 블로킹 호출이나 비동기식 논블로킹 호출, 요청 및 응답이나 이벤트 기반 협
업 중에서 어느 통신 방식을 도입할지 결정하면 방대한 기술 후보군을 줄여나가는 데 도움이
된다. 이 장에서는 마이크로서비스 통신에 일반적으로 사용되는 몇 가지 기술을 살펴본다.
5.15.1
이상적인 기술을 찾아서 이상적인 기술을 찾아서
한 마이크로서비스가 다른 마이크로서비스와 통신하는 방법에는 다양한 선택지가 있다. 하지
만
SOAP
,
XML
-
RPC
,
REST
,
gRPC
중 어느 것이 적합할까? 항상 새로운 선택지는 등장한
다. 따라서 특정 기술을 논의하기 전에 우리가 선택한 기술에서 무엇을 원하는지 생각해보자.
5.1.15.1.1
하위 호환성을 쉽게 하라 하위 호환성을 쉽게 하라
마이크로서비스를 변경할 때는 이 서비스를 소비하는 마이크로서비스와의 호환성이 깨지지 않
도록 해야 한다. 따라서 어떤 기술을 선택하든 하위 호환되는 변경을 쉽게 할 수 있길 원한다.
새 필드를 추가하는 등의 간단한 작업으로 클라이언트가 중단되면 안 된다. 또한 변경 사항이
이전 버전과 호환되는지 검증할 수 있는 기능과 마이크로서비스를 운영 환경에 배포하기 전에