목록 보기
서버 증설 없이 처리하는 대규모 트래픽
백엔드

서버 증설 없이 처리하는 대규모 트래픽

토스
토스
2024년 5월 13일

두줄요약

대규모 트래픽이 몰린 라이브 쇼핑 서비스에서 Redis, DB, Gateway 병목을 줄인 방법을 공유했습니다. 서버 증설보다 모니터링과 캐시, 비동기 처리, 요청 통합을 통한 성능 개선이 핵심이었습니다.

핵심 내용

  • 라이브 쇼핑 보기 서비스의 대규모 트래픽 대응 경험 공유
  • 서버 증설만으로 해결하기보다 Redis, DB, Gateway 병목을 각각 완화하는 접근
  • 모니터링과 성능 개선 이터레이션을 반복하며 장애를 예방하는 운영 방식 강조

문제 상황

  • 정각 기준 수십만 동시 접속과 초당 수십만 건의 포인트 지급 요청 유입
  • Redis 과부하, 데이터베이스 Insert 병목, Gateway와 서버 전체 부하 증가
  • 중복 요청과 다중 API 호출로 불필요한 트래픽 증폭

해결 방법

  • Universal Data는 Local Cache와 Pub/Sub로 Redis 사용량 절감
  • User-Specific Data는 압축, Fallback, Kafka 비동기 Insert, Throttling으로 보호
  • 중복 요청 제거와 API 통합으로 Gateway 부하와 피크 트래픽 축소

적용해볼 점

  • 서버 증설 전 컴포넌트별 병목을 먼저 분해해 확인
  • 모니터링, 카나리 배포, 프로파일링을 통한 반복 개선 체계 구축
  • 트래픽 급증 구간에서는 캐시 전략, 비동기 처리, 요청 합치기 우선 검토

댓글 0

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

댓글을 불러오는 중...