API 컴포지션 이란
여러 서비스의 데이터 결합
API 컴포지션
API 컴포지션은 여러 서비스의 데이터를 단일 클라이언트 응답으로 집계하는 마이크로서비스 아키텍처 패턴입니다.
작동 방식
| 단계 | 작업 | |------|------| | 1. 요청 | 클라이언트가 API Gateway 호출 | | 2. 분해 | Gateway가 필요한 서비스 식별 | | 3. 병렬 호출 | 마이크로서비스에 요청 | | 4. 집계 | 결과 결합 | | 5. 응답 | 복합 응답 반환 |
구현 옵션
- API Gateway — 중앙 집중식 집계
- BFF (Backend for Frontend) — 각 클라이언트용 별도 레이어
- GraphQL — 리졸버를 통한 유연한 선택
- 오케스트레이터 — 코디네이터 서비스
사용 시기
- 복합 페이지 (대시보드, 프로필)
- 여러 소스의 보고서
- 모바일 앱 (요청 최소화)
- 공개 API (내부 구조 숨김)
장단점
| 장점 | 단점 | |------|------| | 클라이언트 요청 감소 | 구현 복잡성 | | 로직 캡슐화 | 잠재적 지연 | | 응답 유연성 | 트랜잭션 관리 |