목록 보기
더 빠르게, 그리고 무너지지 않게 — 전시 아키텍처 개선기 (1/3)
아키텍처

더 빠르게, 그리고 무너지지 않게 — 전시 아키텍처 개선기 (1/3)

여기어때
여기어때
2026년 7월 13일

두줄요약

전시 상품 API의 Redis 병목과 캐시 단일 의존 문제를 구조적으로 개선했습니다. Kafka CDC, 병렬 처리, 다단계 조회로 더 빠르고 무너지지 않는 서빙 구조를 만들었습니다.

문제 상황

  • 전시 상품 API가 트래픽 집중 시 Redis 캐시 병목과 네트워크 egress 한계로 timeout 발생
  • 캐시 단일 의존 구조라 pod를 늘려도 병목이 해소되지 않는 상황
  • RDB식 Document 분산과 제휴점별 순차 처리로 MongoDB 조회 비용과 응답 지연이 큰 상태

원인 분석

  • 최종 응답 전체를 날짜 조합별로 Redis에 통째로 저장해 중복과 payload 비대가 심화
  • Redis가 애플리케이션 병목이 아니라 인프라 네트워크 한계에 먼저 도달
  • 조회 경로가 파편화된 Document와 순차 IO에 묶여 있어 구조적으로 느린 상태

해결 방법

  • Document 통합으로 조회 경로를 단순화하고 Virtual Thread로 제휴점별 병렬 처리 도입
  • Kafka 기반 CDC로 메타 캐시를 변경 즉시 갱신하고 실시간 가격은 별도 경로로 분리
  • Redis → Local Cache → MongoDB 3단계 조회와 서킷 브레이커로 캐시 장애 시에도 서비스 지속

성능/운영 포인트

  • TPS 211에서 666으로 향상
  • P95 응답 시간 4.13초 구간을 캐시 없이도 1초대로 단축
  • Redis와 MongoDB CPU 부하를 각각 10% 이하 수준으로 완화

댓글 0

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

댓글을 불러오는 중...