핵심 요약
여기어때의 전시 API에서 캐시 의존으로 발생하던 장애를 막기 위해 Redis 단일 장애점 문제를 완화하고, MongoDB에서 데이터를 단일 문서로 통합한 뒤 Kafka CDC로 메타/가격 정보를 실시간 반영하는 3-tier 캐시 아키텍처로 성능과 안정성을 크게 개선했습니다.
구현 방법
- 다중 컬렉션 조인을 단일 Document로 통합해 조회를 3~4건의 간단 쿼리로 축소
- 제휴점 병렬 처리에 Virtual Thread 도입으로 IO 대기 감소
- Phase 1으로 MongoDB 조회 비용 낮춤
- CDC(Kafka) 기반으로 메타/가격 변경 이벤트를 반영하고 Redis에 반영
- 3-tier 조회 경로 도입: Redis → Local Cache → MongoDB, 서킷 브레이커로 장애 격리
- Redis v2/v3 분리 및 멱등 처리, 장애 시 Slack 알림
주요 결과
- TPS 211→666으로 3배 증가
- P95 응답 시간 4.13초→1초대
- MongoDB CPU 부하 20~30%→10% 이하
- Redis 부하 감소로 master CPU 10% 이하 유지

