🧵 Redis Streams란?

정의

Redis Streams는 이벤트 로그 형태로 메시지를 저장하고 처리하는 Redis 자료 구조다.

메시지를 순서대로 쌓고, 필요할 때 다시 읽어 처리할 수 있어 이벤트 기반 처리에 잘 맞는다.

🧩 특징

  • 메시지 순서를 유지한다.
  • Consumer Group을 지원한다.
  • 메시지 재처리에 유리하다.
  • 로그처럼 누적되는 구조를 가진다.
  • 비동기 처리 흐름에 잘 맞는다.

🔍 핵심 개념

Stream Entry

  • 스트림에 저장되는 개별 메시지다.
  • 일반적으로 ID와 필드-값 구조로 저장된다.

Consumer Group

  • 여러 소비자가 작업을 나눠 처리할 수 있게 해준다.
  • 같은 메시지를 중복으로 모두 처리하는 대신 분산 처리하기 좋다.

Pending Entry

  • 소비자가 가져갔지만 아직 처리 완료하지 않은 메시지다.
  • 장애 복구나 재처리에 활용할 수 있다.

🛠️ 사용 예시

  • 이벤트 스트림 처리
  • 비동기 메시지 처리
  • 로그 기반 데이터 관리
  • 작업 큐 보조

⚠️ 주의할 점

  • 메시지가 계속 쌓이므로 적절한 보관 정책이 필요하다.
  • Consumer Group과 Pending 상태를 함께 관리해야 한다.
  • 전용 메시지 브로커와는 목적이 다를 수 있다.

📌 정리

  • Redis Streams는 이벤트 로그 형태로 메시지를 저장하는 구조다.
  • 순서 보존, 소비자 그룹, 재처리 기능이 강점이다.
  • 간단한 스트림 처리나 보조 메시지 처리에 잘 맞는다.

연결문서

댓글남기기