주문 상태 머신 설계·배송사 연동 안정화·재고 정합성 확보로 주문·배송 시스템 결
주문·배송 관리 시스템 개발에서 가장 먼저 고민한 것은 주문 상태 전이를 명확히 정의하는 것이었습니다. 주문 생성부터 배송 완료까지 상태가 복잡하게 얽히기 때문에, 상태 머신으로 허용된 전이만 허용하고 잘못된 상태 변경을 차단했습니다. 이 설계가 버그를 사전에 막는 데 효과적이었습니다.
배송사 연동이 주요 도전 과제였습니다. 외부 배송사 API의 불안정성과 응답 지연에 대비해 재시도 로직과 타임아웃을 설정했고, 배송사별로 인터페이스가 달라 표준 어댑터 레이어를 두어 내부 시스템은 동일한 방식으로 호출할 수 있게 했습니다.
재고 정합성도 핵심이었습니다. 동시에 여러 주문이 같은 재고를 차지하는 상황에서 낙관적 락을 적용해 재고 초과 판매를 방지했습니다. 결제 완료 시점에 재고를 최종 차감하는 흐름을 트랜잭션으로 묶어 일관성을 유지했습니다.