기술 블로그
C레벨 - 고난도
Airbnb의 결제 오케스트레이션 시스템 재구축: 모놀리스에서 SOA로
백엔드
결제
MSA
JavaKafkaDAG WorkflowIdempotencyYAML Config
배경
Airbnb는 모놀리식 아키텍처에서 SOA로 전환하면서 결제 시스템도 근본적으로 재설계하기로 결정했다.
도전 과제
마이그레이션 기간 동안 두 개의 결제 시스템을 병렬로 운영해야 했고, 숙박 예약의 마이그레이션만 30개 이상의 마일스톤으로 세분화해야 할 만큼 복잡했다.
해결 방안
Orpheus라는 범용 멱등성 라이브러리를 개발하여 모든 결제 워크플로를 DAG의 재시도 가능한 멱등 단계로 구성했다. Kafka 기반 이벤트 버스와 YAML 기반 설정으로 새로운 결제 수단 추가를 선언적으로 처리할 수 있게 했다.
결과
30개 이상의 글로벌 결제 수단을 지원하면서도 새로운 결제 수단 추가가 설정 변경만으로 가능해졌다. 이중 결제 사고 없이 안전한 마이그레이션을 완료했다.
핵심 인사이트
- 1.대규모 결제 마이그레이션은 기능별 마일스톤으로 세분화하여 점진적으로 진행해야 한다
- 2.멱등성 보장 라이브러리는 결제 시스템의 핵심 인프라이다
- 3.DAG 기반 워크플로 엔진으로 복잡한 결제 프로세스를 관리 가능하다