Til9
title: 2025-08-07 author: 강병호 date: 2025-08-07 category: TIL/강병호/2025/08 layout: post —
# 쿠팡의 MSA 과정
2018년 스프링캠프에서 Coupang이 MSA로 전환하게된 페인포인트, 기술적 과정을 정리합니다.
5년 전 쿠팡의 모놀리틱 아키텍처에서의 페인 포인트
1. 부분 장애의 전체 서비스 확산
쿠팡 서비스는 트래픽이 급증하며 일주일에 몇 번씩 큰 장애를 겪으며 그 과정에서 작은 장애가 전체 서비스 장애로 번지는 일이 빈번했다.
2. 배포의 어려움
작은 기능 수정에도 전체 서비스의 릴리즈와 함께 전체 테스트를 진행하는 문제는 서비스 가속화에 큰 비용 소모로 이어졌다. 또한, 배포 시간에서 엄청난 시간이 소모되었는데 5분, 10분 수정한 코드를 배포하기 위해 2~3일을 기다려야하는 비효율 또한 발생
MSA 전환 전략
1. 비타민 프레임워크의 제공
플랫폼 서비스팀에서 배포, 모니터링, 자동 복구 등이 구성되어 있는 비타민 프레임워크를 제공하여 도메인 팀의 작업 부담 감소.
2. API 헬퍼 라이브러리 제공
MSA에서의 모든 서비스는 API 통신을 데이터를 주고 받는다. 그 과정에서 약 50개의 서비스가 각자 HTTP 통신 모듈과 프로덕트 객체 래핑 모듈을 만드는 코스트가 존재한다 이러한 낭비를 위해 생성된 API 라이브러리로 다음의 기능들을 일관되게 통신과정에서 처리하도록 사용
- 공통 통신 로직 추상화 : HTTP 요청 보내기, 응답 받기, 예외 처리 등을 추상화
- 데이터 전환 및 파싱 : API를 통해 받은 데이터를 각 서비스가 쉽게 변환하고 파싱하도록 처리
- API 버전 관리 지원 : API 버전 업데이트 시 헬퍼 라이브러리만 업데이트 하도록 처리
3. 메시지 큐의 활용
MSA 환경에서 실제 강하게 연결된 트랜잭션의 분리는 매우 어려운 과정이다. 예를 들어, 주문-결제-배송 요청과 같이 강하게 연결된 트랜잭션의 분리는 어렵고 이를 메시지 큐를 통해 서비스 장애, 트랜잭션 실패 시 자동으로 복구할 수 있도록 처리하여 강하게 분리가 가능했다.