컬리 카트 개발 연대기: 데드락과의 처절한 사투!

by DD
4년 전
조회수 16

레거시 카트데드락 문제 해결을 위해 Dual Write 방식 도입 시도

Modern Cart로의 전환 과정에서 주문서 연동 문제 발생 및 해결

Multi Cart 도입으로 데드락 근본 원인인 카트 cleansing 제거, 성능 개선

데드락, 카트의 숙명

카트 개발의 가장 큰 난제는 데드락이었다. 구체적으로, Dual Write 과정에서 데드락이 발생하여 잦은 장애를 유발했다. 따라서 Multi Cart 도입을 통해 카트 cleansing 정책을 제거하고, 동시성 문제를 해결하고자 했다.

카트 구조 변화의 기술적 배경

컬리 카트는 Legacy Cart에서 시작하여 Stack Cart, Modern Cart, Multi Cart로 진화했다. 반면 각 카트 간의 데이터 구조 차이로 인해 데이터 마이그레이션에 어려움을 겪었다. 결과적으로, 주문서 연동 과정에서 기술적 부채가 발생했다.

Multi Cart, 데드락 종결자?

Multi Cart카트 아이템 공유를 통해 데드락 문제를 해결했다. 구체적으로, 카트 cleansing 정책을 폐지하고, 여러 세션에서 동일한 카트 아이템을 공유하도록 설계했다. 따라서 데이터 일관성을 유지하면서 서비스 안정성을 확보했다.

카트 개발 연대기