Skip to content

4차: 대기열 시스템 기반 가용성 확보

Park minji edited this page Sep 1, 2024 · 16 revisions

🔍 문제 분석

  • 티켓팅 서비스는 단시간, 높은 트래픽 처리
  • 티켓팅 중 메인 서버가 다운된 후 복구될 때, 대기 중이던 사용자들이 한꺼번에 재접속을 시도하면 메인 서버가 다시 다운될 수 있음
  • 모든 요청을 메인 서버가 혼자 처리하므로, 티켓팅이 아닌 서비스도 티켓팅 트래픽의 영향을 받음
  • T3.small 1대 기반 동시 접속자 5000명에서 모니터링을 하지 못할 정도의 CPU 과부하가 일어남

가용성을 위한 아키텍처 개선이 필요하다고 판단


🛠️ 해결 방안

수평 확장

  • 메인 서버를 스케일 아웃해 트래픽 처리량을 늘리는 방법
  • 티켓팅이 아닌 다른 서비스의 트래픽도 함께 처리 가능
  • 예측하지 못한 고부하 발생 시 모든 서버가 순차적으로 다운될 가능성 있음

대기열 서버 도입

  • 티켓팅 시에만 사용되어 티켓팅의 높은 트래픽을 버퍼링하여 기존 메인 서버에 안정화된 트래픽 제공 가능
  • 예측하지 못한 고부하 발생 시에도 대기열 서버만 다운되어 메인 서버로 장애 전파되지 않음
  • 근본적인 처리량이 증가하지는 않아 사용자 경험이 떨어질 수 있음

한정된 자원으로 안정성을 갖추기 위해 대기열 서버 도입


🔧 설계 변경

변경된 아키텍처 개요

새로 추가된 컴포넌트 및 기능


🚀 성능 테스트

테스트 계획 수립

결과 분석