Pub-Sub 패턴의 이해
Pub/Sub 패턴
- 메시징 모델 중의 하나로 발행(Publish)과 구독(Subscribe) 역할로 개념화 한 형태
- 발행자와 구독자는 서로에 대한 정보 없이 특정 주제(토픽 or 채널)를 매개로 송수신
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/aa7f812a-fa30-429b-844d-f63f946d67ff/Untitled.png)
메시징 미들웨어 사용의 장점
- 비동기: 통신의 비동기 처리
- 낮은 결합도: 송신자와 수신자가 직접 서로 의존하지 않고 공통 미들웨어에 의존
- 탄력성: 구성원들간에 느슨한 연결로 인해 일부 장애가 생겨도 영향이 최소화됨
메시징 미들웨어 제품들: Kafka, RabbitMQ, ActiveMQ, …
Redis의 Pub/Sub 특징
- 메시지가 큐에 저장되지 않음 (온라인으로 떠있는 subscriber들에게만 메시지가 전송됨)
- Kafka의 컨슈머 그룹같은 분산처리 개념이 없음 (→ 모든 subscriber에게 메시지 전송함)
- 메시지 발행 시 push 방식으로 subscriber들에게 전송 (카프카는 polling 방식으로 subscriber가 카프카 서버로 와서 메시지를 받아감)
- subscriber가 늘어날수록 성능이 저하
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ec46b62e-3f83-4d82-9a54-3f32ffaa32ad/Untitled.png)
Redis의 Pub/Sub의 유즈케이스