카테고리 없음
Pub/Sub
두잇 두두
2025. 2. 4. 10:20
728x90
Pub/Sub(발행/구독) 모델은 메시지를 발행자(Publisher)가 보내고, 이를 구독자(Subscriber)가 받아 처리하는 방식입니다.
Producer-Consumer 모델과 차이점은 하나의 메시지를 여러 Subscriber가 받을 수 있다는 점입니다.
🔹 Pub/Sub 방식의 동작 구조
- Publisher(발행자) → 메시지를 특정 Topic에 발행 (Publish)
- Broker(중앙 메시지 시스템) → 메시지를 저장하고 전달 (ex. Kafka, Redis, RabbitMQ)
- Subscriber(구독자) → 특정 Topic을 구독(Subscribe)하여 메시지를 받음
💡 핵심 특징:
- 1:N 관계 → 하나의 메시지를 여러 Subscriber가 받을 수 있음
- 구독한 Consumer만 메시지를 받음 (새로운 Consumer는 과거 메시지를 받지 못함)
- 비동기 처리 가능 → Subscriber가 다수일 경우도 개별적으로 메시지 처리
🔹 Pub/Sub 방식 vs Queue 방식 차이점
비교 항목Pub/Sub 방식Queue 방식
메시지 전달 대상 | 여러 Subscriber(1:N) | 하나의 Consumer(1:1) |
메시지 중복 수신 | 여러 Consumer가 동일한 메시지를 받을 수 있음 | 하나의 메시지는 한 Consumer만 처리 |
이전 메시지 소비 가능 여부 | ❌ (구독 전에 발행된 메시지는 받지 못함) | ✅ (메시지를 Queue에 저장 가능) |
예제 시스템 | Kafka, Redis, RabbitMQ(Fanout) | RabbitMQ(Queue), Celery |