대용량 처리 이해/Redis

Pub, Sub 패턴

훈지런 2023. 2. 20. 18:30

Pub / Sub 패턴

  • 메시징 모델 중의 하나로 발생(publish)과 구독(Subscribe) 로 개념화한 형태
  • 발행자와 구독자는 서로에 대한 정보 없이 특정 주제(토픽 or 채널)를 매개로 송수신
graph LR subgraph Messaging Middleware Topic end Publisher --메시지 발행--> Topic --메시지 구독--> Subscriber

메시지 미들웨어 사용의 장점

  • 비동기: 통신의 비동기 처리
  • 낮은 결합도: 송신자와 수신자가 직접 서로 의존하지 않고 공통 미들웨어에 의존
  • 탄력성: 구성원들간에 느슨한 연결로 인해 일부 장애가 생겨도 영향이 최소화 됨

메지싱 미들웨어 제품들: kafka, RabbitMQ, ActiveMQ 등등

Redis Pub/Sub 특징

  • 메시지가 큐에 저장되지 않음
  • Kafka의 컨슈머 그룹같은 분산처리 개념이 없음
  • 메시지 발생시 push 방식으로 subscriber들에게 정송
  • subscriber가 늘어날수록 성능이 저하
graph LR subgraph Messaging Middleware Topic end Publisher --메시지 발행--> Topic --메시지 구독
모든 subscriber에제 전송후 메세지 삭제--> Subscriber

Redis Pub/Sub 사용예

  • 실시간으로 빠르게 전송되어야 하는 메시지
  • 메시지 유실을 감내할 수 있는 케이스
  • 최대 1회 전송(at-most-once)패턴이 적합한 경우
  • Subscriber들이 다양한 채널을 유동적으로 바꾸면서 한시적으로 구독하는 경우

'대용량 처리 이해 > Redis' 카테고리의 다른 글

Redis Cache Layer  (0) 2023.02.19
Redis Session Clustering  (0) 2023.02.18
Redis Data Type  (0) 2023.02.14
Redis (Remote Dictionary Server)  (0) 2023.02.13