Skip to content

[FEAT] 비동기 주문 생성 이벤트 수신 및 다중 재고 차감 처리 로직 구현 #36

Description

@ji-circle

📄 이슈 내용 (기능 요약)

Order 서비스의 비동기 아키텍처 전환에 발맞춰, Kafka를 통해 주문 생성 이벤트를 비동기로 전달받아 백그라운드에서 안전하게 재고를 차감하는 Consumer 및 처리 로직을 신규 구현

📝 상세 내용 및 요구사항

기존 동기식 HTTP 요청을 통한 단건/다건 재고 처리 로직을 비동기 Event-Driven 방식으로 변경
-> 이 과정에서 다중 품목에 대한 분산 락 획득 시 발생할 수 있는 데드락을 방지하기 위해 정렬 기반의 락 획득 로직이 포함되어야 함

✅ 체크리스트 (구현할 내용)

  • order.created 토픽을 구독하는 OrderEventConsumer 구현
  • 데드락 방지를 위해 OptionId를 오름차순 정렬하여 다중 락을 획득하는 비동기 전용 로직 (StockLockFacade) 구현
  • 재고 차감 로직 실행 및 멱등성 보장(ProcessedEvent) 로직 연결
  • 처리 결과에 따라 ORDER_APPROVED(승인) 또는 비즈니스 예외(품절 등) 시 ORDER_REJECTED(거절) 이벤트를 Outbox에 적재

📍 레퍼런스

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions