728x90
📣 Pub/Sub 이란?
📌 정의
- Pub/Sub (Publish / Subscribe)는 메시지 송신자(발행자)와 수신자(구독자)가 직접 연결되지 않고, 중간 매개체(채널)를 통해 메시지를 주고받는 비동기 메시징 모델입니다.
📦 Messaging Middleware 사용 장점
특징 | 설명 |
---|---|
비동기 처리 | 송신자/수신자가 동시에 작동하지 않아도 메시지를 처리할 수 있음 |
낮은 결합도 | 발신자/수신자는 서로를 몰라도 메시지를 주고받을 수 있음 |
탄력성 | 한쪽 장애 발생 시 전체 시스템 영향 최소화 |
대표적인 메시징 미들웨어: Kafka, RabbitMQ, ActiveMQ
🧠 Redis Pub/Sub 개념
항목 | 설명 |
---|---|
메시지 저장 안됨 | Queue 저장 없이 실시간으로 전달됨 |
실시간 연결 필요 | 온라인 상태인 Subscriber에게만 전송됨 |
Push 방식 | 메시지를 발행(Publish)하면 Redis가 Subscriber에게 Push 전송 |
Consumer Group 없음 | Kafka와 달리 메시지 분산 처리 불가 |
성능 이슈 | Subscriber 수가 많을수록 성능 저하 발생 가능 |
💡 Redis Pub/Sub vs Kafka 비교
항목 | Redis Pub/Sub | Kafka |
---|---|---|
저장 여부 | ❌ 없음 (즉시 전달) | ✅ 있음 (내구성 보장) |
소비자 그룹 | ❌ 없음 | ✅ 있음 (하나의 메시지를 1개만 소비) |
전달 방식 | Push (서버가 전달) | Pull (소비자가 요청) |
메시지 유실 | 발생 가능 | 거의 없음 |
적합한 시나리오 | 단발성 알림, 실시간 알림 | 로그, 이벤트 스트림 처리 |
🎯 Redis Pub/Sub 유스케이스
- 실시간 알림
- 채팅 시스템
- 실시간 대시보드 업데이트
- 모니터링 알림
- 게임 매칭 시스템
⚠ Redis Pub/Sub은 유실 허용, 1회 전송, 빠른 실시간성이 요구되는 곳에 적합합니다.
728x90
'Server' 카테고리의 다른 글
롤링 배포 (Rolling Deployment) vs 블루-그린 배포 (Blue-Green Deployment) vs 카나리 배포 (Canary Deployment) (0) | 2024.08.26 |
---|---|
[Caching] 캐싱의 원리 와 목적 (0) | 2024.02.29 |
[Session] Spring Boot에서의 세션 관리 (0) | 2024.02.28 |
Session 이란? (0) | 2024.02.24 |
동시성 제어 (0) | 2024.02.18 |