핵심 요약
지마켓은 Redis Stream 도입으로 session_id 히스토리 적재를 비동기로 처리하고, 컨슈머 그룹으로 중복 없이 순차적으로 처리해 트래픽 급증 시 데이터 지연을 완화했다.
구현 방법
- Redis Stream(XADD, XREADGROUP, XACK, XPENDING, XCLAIM) 기반 발행/소비
- Spring Boot 및 spring-boot-starter-data-redis 연동
- session 객체를 ObjectRecord로 포장해 스트림에 발행
- StreamMessageListenerContainer로 컨슈머 그룹 구성 및 초기화
- Pending 메시지 관리와 ack 처리
주요 결과
- 트래픽 급증 시 데이터 지연 완화
- 중복 없이 병렬 처리 가능
- Pending 관리로 시스템 안정성 향상



