Pub/Sub

2025. 2. 4. 10:20· 카테고리 없음
목차
  1. 🔹 Pub/Sub 방식의 동작 구조
  2.  
  3. 🔹 Pub/Sub 방식 vs Queue 방식 차이점
728x90

Pub/Sub(발행/구독) 모델은 메시지를 발행자(Publisher)가 보내고, 이를 구독자(Subscriber)가 받아 처리하는 방식입니다.
Producer-Consumer 모델과 차이점은 하나의 메시지를 여러 Subscriber가 받을 수 있다는 점입니다.

 

🔹 Pub/Sub 방식의 동작 구조

  1. Publisher(발행자) → 메시지를 특정 Topic에 발행 (Publish)
  2. Broker(중앙 메시지 시스템) → 메시지를 저장하고 전달 (ex. Kafka, Redis, RabbitMQ)
  3. Subscriber(구독자) → 특정 Topic을 구독(Subscribe)하여 메시지를 받음

💡 핵심 특징:

  • 1:N 관계 → 하나의 메시지를 여러 Subscriber가 받을 수 있음
  • 구독한 Consumer만 메시지를 받음 (새로운 Consumer는 과거 메시지를 받지 못함)
  • 비동기 처리 가능 → Subscriber가 다수일 경우도 개별적으로 메시지 처리

 

🔹 Pub/Sub 방식 vs Queue 방식 차이점

비교 항목Pub/Sub 방식Queue 방식

메시지 전달 대상 여러 Subscriber(1:N) 하나의 Consumer(1:1)
메시지 중복 수신 여러 Consumer가 동일한 메시지를 받을 수 있음 하나의 메시지는 한 Consumer만 처리
이전 메시지 소비 가능 여부 ❌ (구독 전에 발행된 메시지는 받지 못함) ✅ (메시지를 Queue에 저장 가능)
예제 시스템 Kafka, Redis, RabbitMQ(Fanout) RabbitMQ(Queue), Celery

 

저작자표시 비영리 (새창열림)
  1. 🔹 Pub/Sub 방식의 동작 구조
  2.  
  3. 🔹 Pub/Sub 방식 vs Queue 방식 차이점
두잇 두두
두잇 두두
읽기 쉬운 코드를 짜기 위해 노력합니다. 좋은 코드는 단순하고 이해하기 쉬워야 한다고 생각합니다.
두두 DB읽기 쉬운 코드를 짜기 위해 노력합니다. 좋은 코드는 단순하고 이해하기 쉬워야 한다고 생각합니다.
두잇 두두
두두 DB
두잇 두두
전체
오늘
어제
  • 분류 전체보기 (135)
    • CS지식 (7)
    • 시스템 설계 (5)
    • 자료구조&알고리즘 (36)
      • 자료구조 (1)
      • 백준 (13)
      • 프로그래머스 (15)
      • 인프런 (2)
    • Python (9)
      • Docs (3)
      • 실험실 (2)
    • Django (36)
      • orm (10)
      • view (3)
      • model (3)
      • admin (3)
      • restframework (13)
      • error (1)
      • utils (2)
    • Java (2)
      • JPA (3)
    • AI (1)
      • AI가 쓴 글 (1)
    • Git (4)
    • Linux (1)
    • 개발자로써 (8)
      • 회고 (1)
    • 문화생활 (0)
      • 여행 (0)
    • 도서📚 (0)
      • 일반 도서 (0)
      • 개발 도서 (0)
    • 프론트 (1)
      • snippet (1)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
두잇 두두
Pub/Sub
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.