Skip to content

[Feature] 타임딜 스케줄링 이벤트(시작/종료) Kafka 메시지 구독 및 대기열 정책(QueuePolicy) 상태 동기화 #203

@miiiiiin

Description

@miiiiiin

📌 기능 설명

타임딜 서비스의 스케줄러에 의해 타임딜 상품의 판매가 시작되거나 종료될 때 발행되는 Kafka 이벤트를 수신하여, 대기열 서비스 내의 QueuePolicy 상태를 자동으로 동기화하는 기능을 구현

🎯 목적 / 기대 효과

  1. 데이터 정합성 보장 : 타임딜 서비스의 실제 판매 상태와 대기열 서비스의 진입 허용 상태를 일치시키기 위해
  2. 대기열 제어 자동화 : 관리자가 수동으로 대기열을 열고 닫는 것이 아니라, 타임딜 스케줄링에 맞춰 자동으로 진입을 허용하거나 차단
  3. 불필요한 대기열 진입 차단 : 타임딜이 종료된 시점에 즉시적으로 진입 차단하도록 하는 목적

📋 구현 범위

  • Kafka 구현
    • Kafka Consumer 추가 리스너 구현
    • 이벤트 DTO 정의
    • 비즈니스 로직 : QueuePolicy 서비스에서 타임딜 정책 상태 변경 메서드 구현
    • 캐싱 : QueuePolicy 상태 변경 시 , QueueScheduler에서 인메모리로 가지고 있는 Redis 캐시(cachedPolicies)도 함께 갱신하거나 삭제 처리하여 정합성 유지
    • 예외 처리 : 타임딜 정책에 존재하지 않는 상품 ID에 대한 이벤트가 수신될 경우 에러 반환
  • Service/Domain 변경
  • DB 변경 여부
  • 테스트 포함

🔗 관련 이슈(Optional)

#183

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions