목록 보기
Redis Stream 적용기
데브옵스

Redis Stream 적용기

지마켓
지마켓
2024년 7월 11일

두줄요약

Redis Stream으로 session_id 히스토리 적재를 분리해 트래픽 급증 시 지연 문제를 해소했습니다. Pub/Sub의 한계를 피하면서도 병렬 처리와 pending 재처리로 운영 안정성을 확보했습니다.

핵심 내용

  • session_id 히스토리 적재 로직을 Redis Stream 기반 신규 consumer로 분리해 트래픽 급증 시 데이터 처리 지연을 해소한 적용 사례
  • 기존 Redis 저장소와 Spring Boot 환경을 활용해 publisher/consumer, consumer group, ack 처리, pending 메시지 재처리 흐름을 구성
  • Pub/Sub의 휘발성과 중복 문제를 피하고, 여러 pod에서 중복·유실 없이 병렬 처리 가능한 스트리밍 구조를 선택
  • 파티션이 없어 순서 보장에 한계가 있고, in-memory 특성상 pending 메시지 관리로 메모리 이슈를 예방해야 함

적용해볼 점

  • 기존 인프라를 최대한 유지하면서 비동기 처리 경로를 분리하는 방식 고려
  • ack, pending 재처리, 주기적 메모리 관리 같은 운영 로직을 함께 설계할 필요
  • Redis Stream은 빠른 도입과 실시간 처리에 유리하지만 순서성 요구사항은 별도 검토 필요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...