
컬리에서 선물하기를 개발하며 회고
두줄요약
레거시 고도몰과 기존 주문·물류 프로세스에 호환되는 선물하기 주문 서버를 구축했습니다.\ndual writing과 분산 서버 구조를 적용하고 QA 이슈 약 1,000건을 해결해 론칭했습니다.
문제 상황
- PHP 기반 고도몰 레거시와 단일 데이터베이스 중심 모놀리식 구조
- 기존 주문·물류·상담 업무 프로세스 호환이 필요한 선물하기 서비스 론칭
- 8명 규모 팀의 운영·신규 개발 병행과 촉박한 일정
구조와 흐름
- 선물 구매 후 카카오톡 메시지 발송, 수신자 배송지 입력, 배송으로 이어지는 주문 흐름
- 신규 주문 DB 기록을 레거시 DB에도 반영하는 dual writing 구성
- 역할별 분산 서버와 독립 가능한 신규 주문 생태계 설계
선택 이유
- 레거시 프로세스를 일괄 교체하지 않고 별도 선물 주문 생태계와 호환 계층 구성
- 기존 DB 의존에 따른 단일 장애 지점 위험 완화와 향후 분리 가능성 확보
- 현 주문량·재고 특성을 고려한 API 통신 중심 구현, Message Queue 기반 throttling은 확장 여지로 보류
성능/운영 포인트
- dual writing 장애 시 복구 난도를 고려한 데이터 정합성 장치 마련
- 한 달간 QA로 약 1,000건 이슈 해결 후 론칭
- 연관 도메인 서비스 배포 후 9월 2일 서비스 오픈


