TIL | [Redis] Event Queue

bubblegum·2024년 4월 14일
0

Today I learn(TIL)

목록 보기
78/84
post-thumbnail

Redis 이벤트

Redis는 키-값 저장소로서, 네트워크를 통해 메시지를 발행(publish)하고 구독(subscribe)할 수 있는 기능을 제공합니다. 이는 Pub/Sub 모델을 통해 구현되며, 이 모델에서 "이벤트"는 특정 채널에 메시지를 발행하는 행위를 의미합니다. 구독자는 하나 이상의 채널을 구독할 수 있으며, 구독 중인 채널에 메시지가 발행되면 이를 실시간으로 수신합니다. 이 기능은 실시간 알림, 채팅 시스템, 실시간 대시보드 등 다양한 실시간 애플리케이션에서 유용하게 사용됩니다.

이벤트 큐(Event Queue)

이벤트 큐는 메시지 또는 이벤트를 순서대로 저장하는 대기열입니다. 프로듀서(생산자)는 큐에 메시지를 추가하고, 컨슈머(소비자)는 이 큐에서 메시지를 순서대로 가져와 처리합니다. 이벤트 큐는 비동기 처리, 작업 스케줄링, 서비스 간의 결합도 감소 등 다양한 목적으로 사용됩니다.

Redis를 이벤트 큐로 사용할 수도 있습니다. 예를 들어, LPUSH 명령어를 사용해 리스트의 왼쪽에 이벤트를 추가하고, BRPOP 명령어를 사용해 리스트의 오른쪽에서 이벤트를 블로킹(blocking) 상태로 가져올 수 있습니다. 이 방식을 통해, Redis 리스트를 이용한 간단한 이벤트 큐를 구현할 수 있습니다.

Redis 이벤트와 이벤트 큐의 차이

  • Redis 이벤트(Pub/Sub): 이벤트는 특정 채널에 메시지를 발행하고, 해당 채널을 구독하는 모든 구독자에게 메시지가 전달됩니다. 이때, 메시지는 저장되지 않고, 실시간으로만 전달됩니다.
  • 이벤트 큐: 메시지 또는 이벤트는 큐에 순서대로 저장되며, 컨슈머가 이를 처리할 준비가 되었을 때 가져옵니다. 이 방식은 메시지를 지속적으로 저장하고 관리할 필요가 있을 때 사용됩니다.
profile
황세민

0개의 댓글

관련 채용 정보