[MSA] Pattern - API Composition

최대 1 분 소요

MSA : 분산된 DB 환경에서 join 을 도와주는 API 조합기에 대해 알아보자.

API 조합기

배경

  • MSA 를 적용하면 Micro Service 마다의 Database 가 존재하게 된다.
  • 이렇게 된 이상 분리된 여러 서비스들에게 join 쿼리를 직접적으로 호출할 수 없게 된다.

해결 방법

  • API Composer 를 통해 쿼리를 구현한다.
  • API Composerdata 를 소유하고 있는 서비스들을 호출하고, 결과에 대해 in-memory join 을 수행한다.

img - 그림 출처

  • API Gateway가 종종 API Composer 역할을 수행할 때도 있다.

장단점

장점

  • 간단한 방법으로 MSA 환경에서 join 쿼리 를 수행할 수 있음.

단점

  • 대용량 쿼리의 경우 in-memory join 으로 인한 성능 문제가 있을 수 있다.

관련 패턴들

참고

댓글남기기