목록 보기
나야, 주문 - 주문시스템의 도전과 성장 이야기
백엔드

나야, 주문 - 주문시스템의 도전과 성장 이야기

무신사
무신사
2024년 11월 21일

두줄요약

무신사 주문 시스템이 모놀리식에서 MSA, EDA, Kafka, Java 전환까지 단계적으로 개선된 과정을 다뤘습니다. 대규모 트래픽과 이벤트 시즌에서도 안정성과 확장성을 높인 리팩토링 경험을 공유했습니다.

문제 상황

  • 무신사 주문 시스템의 대규모 트래픽과 이벤트 시즌 대응 필요성
  • 모놀리식 구조, 높은 DB 의존도, 복잡한 비즈니스 로직으로 인한 유지보수·장애 위험
  • MSA 전환 이후에도 도메인 간 결합도와 장애 전파, API 일관성 문제가 지속

원인 분석

  • Controller와 Model에 비즈니스 로직이 집중된 스파게티 코드 구조
  • Writer DB 부하 집중, 슬로우 쿼리, 비효율적인 트랜잭션·락 처리
  • 서비스 분리 이후 DB 트랜잭션 대신 API 기반 통신으로 전환되며 분산 일관성 문제 발생

해결 방법

  • PHP 업그레이드, PSR·Composer 도입, DTO·DI·ORM 적용으로 코드 표준화와 모듈화 진행
  • Reader DB 분산, 인덱스 추가, Redis 분산 락 도입으로 DB 부하 완화
  • MSA, SAGA, Circuit Breaker, SNS·SQS·Lambda 기반 EDA, Kafka, Java 전환으로 확장성과 안정성 강화

성능/운영 포인트

  • 이벤트 기반 비동기 처리로 주문 트랜잭션 경량화
  • DLQ, SETNX, CloudWatch로 메시지 오류 대응과 모니터링 보강
  • Java 21 업그레이드와 서비스 모듈 분리로 운영 일원화와 장애 전파 감소

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...