목록 보기
쏘카의 대규모 인증토큰 트래픽 대응 : 개발기
백엔드

쏘카의 대규모 인증토큰 트래픽 대응 : 개발기

쏘카
쏘카
2023년 6월 27일

두줄요약

쏘카는 인증 토큰 트래픽이 write DB에 몰리던 문제를 전담 서비스 분리와 읽기 분산으로 개선했습니다. 또한 만료 토큰 정리와 Redis 캐시 적용으로 조회 성능과 응답 속도를 높였습니다.

문제 상황

  • 쏘카 시스템의 모든 요청에 인증 토큰 검증이 붙으면서 조회 트래픽이 write DB로 집중되는 구조
  • 만료 토큰까지 함께 보관해 인증 토큰 테이블의 데이터량과 인덱스 비용이 커진 상태
  • 반복 조회가 많은데도 DB 직접 접근 비중이 높아 read DB와 캐시 활용이 필요한 상황

해결 방법

  • 인증 토큰 처리 로직을 전담 계정 서비스로 분리해 여러 프로젝트의 중복 DB 접근 제거
  • read only 요청을 read DB로 라우팅하고 Aurora protocol 기반 설정으로 write/read 부하 분산
  • 만료 토큰을 별도 테이블로 분리하는 배치 작업으로 테이블 row 수 축소
  • Redis 캐시를 Look Aside + Write Around 조합으로 적용해 DB 조회 수와 응답 지연 감소

성능/운영 포인트

  • scale up 대신 scale out을 선택해 서비스 중단과 장비 한계를 회피
  • 대량 데이터 이동은 1회성 배치와 시간 단위 배치로 나눠 CPU 부하를 제어
  • 캐시 갱신은 쓰기 시 삭제 방식으로 처리해 데이터 불일치 가능성 최소화

댓글 0

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

댓글을 불러오는 중...