Pub/Sub이란
Pub/Sub은 Publish/Subscribe의 줄임말이다
- Publisher : 메시지를 보내는 쪽
- Subscriber : 메시지를 받는 쪽
- Channel : 메시지가 지나가는 통로
동작 방식
Redis Pub/Sub의 흐름은 다음과 같다.
1. Subscriber가 특정 채널을 구독한다
2. Publisher가 해당 채널에 메시지를 발행한다
3. Redis가 그 채널을 구독중인 Subscriber들에게 메시지를 전달한다
이 구조의 핵심은 중간에 Redis가 메시지 전달 역할을 해준다는 점이다.
덕분에 Publisher는 누가 이 메시지를 받는지 몰라도 되고, Subscriber도 누가 보냈는지 몰라도 된다.
왜 사용하는가?
Redis Pub/Sub은 실시간 메시지 전달이 필요할 때 유용하다
- 채팅 메시지 전달
- 실시간 알림
- 사용자 접속 상태 변화 알림
이런 상황에서는 한 서버가 만든 이벤트를 다른 서버나 클라이언트에게 빠르게 알려줘야 한다.
이때 Redis Pub/Sub을 사용하면 별도의 복잡한 구현 없이 메시지를 실시간으로 전달할 수 있다.
장점
1. 구조가 단순하다
채널에 메시지를 발행하고 구독만 하면 되기 때문에 구조가 비교적 단순하다.
2. 실시간성이 좋다
메시지를 저장해두는 방식이 아니라, 발행되는 즉시 구독자에게 전달되므로 빠르게 반응할 수 있다.
3. 서버 간 통신에 활용하기 좋다
여러 서버가 떠 있는 환경에서 특정 이벤트를 공유해야 할 때 유용하다.
4. 결합도를 낮출 수 있다
Publisher와 Subscriber가 서로 직접 연결되지 않아도 되기 때문에 확장성과 유연성이 좋아진다
한계점
Redis Pub/Sub은 편리하지만 한계도 분명하다.
1.메시지 보관 기능이 없다.
Pub/Sub은 메시지를 저장하지 않는다.
구독자가 연결되어있지 않은 상태에서 메시지가 발행되면 그 메시지는 그냥 사라진다.
2. 전달 보장이 강하지 않다.
메시지를 반드시 처리해야 하는 시스템에는 적합하지 않을 수 있다.
3. 복잡한 메시지관리 기능이 부족하다.
Kafka같은 메시지 브로커에 비하면 재처리, 메시지 저장, 소비 이력 관리같은 기능이 부족하다.
'Study' 카테고리의 다른 글
| IP 주소 / 서브넷 마스크 / 공인 IP & 사설 IP (0) | 2026.04.24 |
|---|---|
| OSI 7계층 / TCP-IP 4계층 (0) | 2026.04.23 |
| 헥사고날 아키텍처 vs 레이어드 아키텍처 (1) | 2026.04.21 |
| Websocket 정리 (0) | 2026.04.19 |
| 그래프 표현, DFS/BFS, 최단경로 (0) | 2026.04.17 |