Server

[Redis] Pub/Sub

Raconer 2024. 3. 1. 23:22
728x90

📣 Pub/Sub 이란?


📌 정의

  • Pub/Sub (Publish / Subscribe)는 메시지 송신자(발행자)와 수신자(구독자)가 직접 연결되지 않고, 중간 매개체(채널)를 통해 메시지를 주고받는 비동기 메시징 모델입니다.

Pub/Sub


📦 Messaging Middleware 사용 장점

특징 설명
비동기 처리 송신자/수신자가 동시에 작동하지 않아도 메시지를 처리할 수 있음
낮은 결합도 발신자/수신자는 서로를 몰라도 메시지를 주고받을 수 있음
탄력성 한쪽 장애 발생 시 전체 시스템 영향 최소화

대표적인 메시징 미들웨어: Kafka, RabbitMQ, ActiveMQ


🧠 Redis Pub/Sub 개념

항목 설명
메시지 저장 안됨 Queue 저장 없이 실시간으로 전달됨
실시간 연결 필요 온라인 상태인 Subscriber에게만 전송됨
Push 방식 메시지를 발행(Publish)하면 Redis가 Subscriber에게 Push 전송
Consumer Group 없음 Kafka와 달리 메시지 분산 처리 불가
성능 이슈 Subscriber 수가 많을수록 성능 저하 발생 가능

Redis Pub/Sub


💡 Redis Pub/Sub vs Kafka 비교

항목 Redis Pub/Sub Kafka
저장 여부 ❌ 없음 (즉시 전달) ✅ 있음 (내구성 보장)
소비자 그룹 ❌ 없음 ✅ 있음 (하나의 메시지를 1개만 소비)
전달 방식 Push (서버가 전달) Pull (소비자가 요청)
메시지 유실 발생 가능 거의 없음
적합한 시나리오 단발성 알림, 실시간 알림 로그, 이벤트 스트림 처리

🎯 Redis Pub/Sub 유스케이스

  • 실시간 알림
  • 채팅 시스템
  • 실시간 대시보드 업데이트
  • 모니터링 알림
  • 게임 매칭 시스템

⚠ Redis Pub/Sub은 유실 허용, 1회 전송, 빠른 실시간성이 요구되는 곳에 적합합니다.




728x90