[Feature] RabbitMQ 인프라 설정 (Exchange/Queue) #102

Closed
opened 2026-02-10 06:28:28 +00:00 by seonkyu.kim · 0 comments
Owner

📋 개요

RabbitMQ Exchange, Queue 선언 및 연결 설정, 메시지 스키마, Producer를 구현합니다.
Phase 3 전체의 선행 작업으로, 이후 PushWorker/ScheduleWorker 및 발송 API가 이 인프라 위에서 동작합니다.

📐 설계 (RabbitMQ_Design.md 기준)

  • Exchange: spms.push.exchange (Direct, Durable)
  • Queue: spms.push.queue (push), spms.schedule.queue (schedule)
  • 메시지 스키마: PushMessage, ScheduleMessage
  • Producer: IPushQueueService → PushQueueService

체크리스트

설정

  • RabbitMQ.Client NuGet 패키지 추가
  • appsettings.json RabbitMQ 섹션 확장 (Exchange, PushQueue, ScheduleQueue, PrefetchCount, MessageTtl)

Infrastructure Layer

  • RabbitMQSettings.cs — 설정 POCO
  • RabbitMQConnection.cs — 연결 관리 (AutomaticRecovery, Heartbeat)
  • RabbitMQInitializer.cs — Exchange/Queue 선언 + Binding
  • DI 등록

메시지 스키마

  • PushMessageDto.cs — 발송 메시지 스키마
  • PushTargetDto.cs — 발송 대상 정보
  • ScheduleMessageDto.cs — 예약 발송 메시지 스키마

Producer

  • IPushQueueService.cs — 큐 발행 인터페이스
  • PushQueueService.cs — 큐 발행 구현

검증

  • 빌드 확인 (0 errors, 0 warnings)

📎 참고

  • Documents/RabbitMQ_Design.md §2~3, §8
  • Milestone: Phase 3 (v0.4.0)
## 📋 개요 RabbitMQ Exchange, Queue 선언 및 연결 설정, 메시지 스키마, Producer를 구현합니다. Phase 3 전체의 선행 작업으로, 이후 PushWorker/ScheduleWorker 및 발송 API가 이 인프라 위에서 동작합니다. ## 📐 설계 (RabbitMQ_Design.md 기준) - Exchange: `spms.push.exchange` (Direct, Durable) - Queue: `spms.push.queue` (push), `spms.schedule.queue` (schedule) - 메시지 스키마: PushMessage, ScheduleMessage - Producer: IPushQueueService → PushQueueService ## ✅ 체크리스트 ### 설정 - [x] RabbitMQ.Client NuGet 패키지 추가 - [x] appsettings.json RabbitMQ 섹션 확장 (Exchange, PushQueue, ScheduleQueue, PrefetchCount, MessageTtl) ### Infrastructure Layer - [x] RabbitMQSettings.cs — 설정 POCO - [x] RabbitMQConnection.cs — 연결 관리 (AutomaticRecovery, Heartbeat) - [x] RabbitMQInitializer.cs — Exchange/Queue 선언 + Binding - [x] DI 등록 ### 메시지 스키마 - [x] PushMessageDto.cs — 발송 메시지 스키마 - [x] PushTargetDto.cs — 발송 대상 정보 - [x] ScheduleMessageDto.cs — 예약 발송 메시지 스키마 ### Producer - [x] IPushQueueService.cs — 큐 발행 인터페이스 - [x] PushQueueService.cs — 큐 발행 구현 ### 검증 - [x] 빌드 확인 (0 errors, 0 warnings) ## 📎 참고 - `Documents/RabbitMQ_Design.md` §2~3, §8 - Milestone: Phase 3 (v0.4.0)
seonkyu.kim added the
Priority
Urgent
Status
In Progress
Type
Feature
labels 2026-02-10 06:28:36 +00:00
seonkyu.kim self-assigned this 2026-02-10 06:28:38 +00:00
seonkyu.kim added this to the Phase 3: 메시지 & Push Core milestone 2026-02-10 06:28:43 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 06:40:06 +00:00
Sign in to join this conversation.
No description provided.