728x90
Pub/Sub이란?
- 메시징 모델 중의 하나로 발행(Publish)와 구독(Subscribe) 역할로 개념화 한 형태
- 발행자와 구독자는 서로에 대한 정보 없이 특정 주체(토픽 or 채널)을 매개로 송수
Messaging Middleware 사용의 장점
- 비동기 : 통신의 비동기 처리
- 낮은 결합도 : 송신자와 수신자가 직접 서로 의존하지 않고 공통 미들웨어에 의존
- 탄력성 : 수정원들간에 느슨한 연결로 인해 일부 장애가 생겨도 영향이 최소화됨
Messaging Middleware 제품들 : Kafka, RabbitMQ, ActiveMQ
Redis의 Pub/Sub 특징
- Message Queue에 저장 되지 않음
- 온라인으로 떠있는 Subscriber에게만 메시지가 전송된다.
- Kafka의 컨슈머 그룹 같은 분산 처리 개념이 없음.
- 컨슈머 그룹 같은 분산 처리 : 특정 서버에서 메시지 처리가 되면 나머지 서버에서는 특정 메시지에 대한 처리가 필요 없다.
- Message 발행시 Push 방식으로 Subscriber들에게 전송
- Kafka : 메시지 발행시 Subscriber가 와서 받아가는 Polling 기법을 사용한다.
- Subscriber가 늘어 날수록 성능이 저하
Redis의 Pub/Sub의 유스케이스
- 실시간으로 빠르게 전송되어야 하는 메시지
- 메시지 유실을 감내할 수 있는 케이스
- 최대 1회 전송(at-most-once) 패턴이 적합한 경우
- Subscriber들이 다양한 채널을 유동적으로 바꾸면서 한시적으로 구독하는 경우
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 |