-
두개 이상 서비스에서 데이터를 조합해오는 방법은 크게 두가지가 있음
- API composition 패턴
- Command-Query Responsibility Segregation (CQRS)
-
API 조합 패턴
- 서비스 클라이언트가 여러 서비스를 직접 호출하는 방법
- 제일 간단하게 구현할 수 있음
- 프로바이더 서비스 여러개와 조합기로 구성됨
- EQUI 조인해서 데이터를 조합하는 방법 (공통된 컬럼을 이용해서 합치는 법)
- 설계 이슈가 있다던데
- 서비스 클라이언트를 조합기로 임명 (웹페이지에서 직접 조합)
- API 게이트웨이를 조합기로 임명
- 주문 검색 서비스를 조합기로 임명
- 이 조합기는 리액티브 프로그래밍 모델을 사용해야 함
- 이래야 관리가 용이하고 성능과 확장성도 우수해질 수 있음
- Pros / Cons
- PROS: 개발하기 쉬움
- CONS:
- 오버헤드가 많음
- 가용성 저하의 우려가 있음(서비스별 가용성을 곱할수록 전체 서비스 가용성은 줄어들기 마련)
- 데이터 일관성의 저하