데이터 흐름과 책임 분리: 각자의 역할에 충실하기
데이터 흐름과 책임 분리: 각자의 역할에 충실하기
온라인 쇼핑몰에서 하나의 주문이 처리되는 과정을 따라가 보면, 데이터가 여러 시스템과 컴포넌트를 거쳐 흘러간다. 이 흐름을 체계적으로 설계하고 각 구간의 책임을 명확히 나누는 것이 안정적인 시스템의 기반이다.
주문 처리 흐름의 분석
고객이 결제 버튼을 누르는 순간부터 상품이 배송 완료될 때까지의 전체 흐름을 분석해 보자. 표면적으로는 단순해 보이지만 실제로는 많은 단계와 의사결정 지점이 존재한다.
첫 번째 단계는 주문 생성과 검증이다. 고객의 장바구니 정보를 받아서 유효성을 확인한다. 선택한 상품들이 여전히 판매 중인지, 재고가 충분한지, 배송 가능 지역인지, 결제 정보가 올바른지 등을 검증한다. 하나라도 실패하면 주문은 거부되고 고객에게 안내 메시지가 전달된다.
두 번째 단계는 가격 계산과 결제 처리다. 각 상품의 가격과 수량, 옵션 추가비, 배송비, 할인 금액을 모두 계산해서 최종 결제 금액을 산출한다. 그다음 선택한 결제 수단으로 실제 결제를 진행한다. 결제가 실패하면 주문은 취소된다.
세 번째 단계는 재고 확정과 판매자 알림이다. 결제가 완료된 후 해당 상품들의 재고를 실제로 차감하고, 각 판매자에게 주문 알림을 전송한다. 여러 판매자의 상품이 포함된 경우 각자에게 해당하는 주문 정보만 전달한다.
지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.