Bull Queue와 Pub/Sub

장재영·2024년 12월 12일
0

불큐 (Bull Queue)

어디에 쓸까?

  • 백그라운드 작업 처리 및 비동기 작업 관리를 위해 사용

사용 이유

  1. 서버의 주요 작업 흐름을 차단하지 않고, 백그라운드에서 처리

  2. 실패한 작업을 자동으로 재시도하는 기능이 내장

  3. 특정 시간 이후나 정해진 시간대에 작업을 실행할 수 있는 예약 기능

  4. 작업 병렬 처리가 가능

  5. 작업 대기, 진행 중, 완료, 실패 등 작업 상태를 추적

문제점

  1. Redis에 의존하므로 Redis가 다운되거나 느려지면 작업 처리가 중단될 수 있음

펍섭 (Pub/Sub)

어디에 쓸까?

  • 실시간 이벤트 전송

  • 실시간 알림 시스템, 채팅 애플리케이션, 로그 스트리밍 등 이벤트 중심의 애플리케이션 등

사용 이유

  1. 발행자(publisher)와 구독자(subscriber)가 서로 독립적으로 동작하므로, 시스템의 모듈화가 용이

  2. 다수의 구독자가 하나의 발행자로부터 데이터를 동시에 받을 수 있어 확장성이 좋음

  3. 구독자는 발행된 이벤트를 실시간으로 수신하므로, 비동기적 이벤트 관리에 적합

문제점

  1. 구독자가 비활성 상태일 경우 메시지 손실 가능성 있음

  2. Pub/Sub은 메시지의 상태를 저장하지 않으므로 작업 추적이나 재처리에 부적합

  3. 구독자 수가 많아지면 성능이 저하

profile
개발 하고 싶은 비버

0개의 댓글