Kim Seogyu
Backend

Redis Streams 기반 비동기 감사 파이프라인 구축

Redis Streams Consumer Group으로 감사 이벤트 파이프라인을 안정적으로 운영하는 방법을 설명합니다.

Published 2025년 12월 30일1 min read158 words

Redis Streams 기반 비동기 감사 파이프라인 구축

감사 이벤트 파이프라인의 목표는 단순 처리량이 아니라 "유실 없이 재처리 가능한 구조"입니다.

권장 구조

  1. Producer: 이벤트 발행
  2. Stream + Consumer Group: 병렬 처리
  3. Worker: 핸들러 실행 + ACK
  4. Dead Letter Stream: 반복 실패 격리

구현 핵심

1) >0을 분리 처리

  • >: 신규 메시지
  • 0: Pending 재처리

재시작 후 0 처리를 빼면 유령 pending이 남습니다.

2) ACK 시점

핸들러 성공 후에만 ACK해야 at-least-once가 유지됩니다.

3) 재시도 정책

delivery count 기반으로 최대 재시도 횟수를 제한하고, 초과 시 DLQ로 이동합니다.

4) 메모리 관리

스트림은 누적됩니다. XTRIM 정책을 운영 기준으로 반드시 설정하세요.

운영 체크리스트

  1. pending 길이, 재시도율, DLQ 유입량 모니터링
  2. consumer 멈춤 감지 및 자동 복구
  3. 메시지 스키마 버전 관리
  4. 재처리 도구(범위 replay) 준비

결론

Redis Streams는 빠른 큐가 아니라 상태 있는 로그입니다. pending과 재시도를 제대로 관리할 때만 신뢰 가능한 감사 파이프라인이 됩니다.

Share

Related Articles

Comments

이 블로그는 제가 알고 있는 것들을 잊지 않기 위해 기록하는 공간입니다.
직접 작성한 글도 있고, AI의 도움을 받아 정리한 글도 있습니다.
정확하지 않은 내용이 있을 수 있으니 참고용으로 봐주세요.

© 2026 Seogyu Kim