Skip to content

team-tokpik/tokpik-be

Repository files navigation

0

서비스 개요

1 10 12 14 15

기술 스택

BE

BE 기술스택

Infra

Infra 기술 스택 (1)

서비스 아키텍처

image

CI/CD

image

주요 기술적 성과

Look Aside + Write Around 캐싱 전략 도입, 조회 성능 83% 개선


image

  • 연관 대화 주제 조회 API의 경우, 반복적으로 동일 데이터를 제공하며 높은 읽기 빈도 발생
  • 한 번에 많은 요청 발생 시 응답 시간이 지연되고 DB 부하가 급증하는 문제 발생
  • Redis를 활용한 Look Aside + Write Around 캐싱 전략 도입:
    1. 캐시에서 먼저 데이터를 조회 (Look Aside)
    2. 캐시 미스 발생 시 DB에서 데이터를 조회하고 결과를 캐시에 저장
    3. 데이터 갱신 시 DB만 업데이트하고 캐시는 조회 시점에 갱신(Write Around)
  • 캐시 적용 결과:
    • 응답 시간: 36ms에서 6ms로 83% 감소
  • 캐시 최적화:
    • 데이터 특성을 고려하여 캐시 만료 시간을 60분으로 설정
    • 정기적인 모니터링을 통해 캐시 크기와 만료 시간 최적화 진행

RTR(Refresh Token Rotation) 도입을 통한 인증/인가 보안 강화


image
  • access token만 사용할 경우 이하 문제들 존재:
    • token 유효 기간이 짧을 경우 만료될 때마다 사용자 재로그인 필요
    • token 유효 기간이 길 경우 제3자가 token 탈취 시 긴 기간동안 사용자인 척 악의적인 요청을 할 수 있게 됨
  • access token의 유효기간을 5시간으로 짧게 설정하고, 주기적으로 이를 갱신하는 데 사용할 3일 유효 기간의 refresh token을 함께 사용하도록 구성
  • 하지만 refresh token이 탈취당할 경우 탈취자가 유효 기간동안 access token을 계속 발급받을 수 있는 문제 존재
  • access token 갱신 시 refresh token도 재발급하는 RTR(Refresh Token Rotation) 도입, 인증/인가 보안 강화
  • RTR 도입 효과:
    • refresh token 탈취 시 최대 노출 시간을 5시간으로 단축
    • 이전 refresh token 무효화로 탈취된 token의 재사용 방지

팀원 소개

안민재 박현지