What is Request Coalescing? A Guide for Developers
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

요청 병합(요청 병합)이란 무엇인가요?

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • 대상자: 프론트엔드 개발자, 인증/토큰 관리 시스템 설계자
  • 난이도: 중급 (비동기 프로미스, 캐싱 기술 이해 필요)

핵심 요약

  • 요청 병합동시 발생하는 API 요청을 하나로 통합하여 중복 네트워크 호출을 방지하는 기법입니다.
  • refreshTokenPromise 변수를 통해 동시 요청 시 단일 프로미스를 공유하고, 그 결과를 모든 요청에 공유합니다.
  • 인증 토큰 갱신 시 중복된 토큰 갱신 요청을 피해 성능 향상을 달성합니다.

섹션별 세부 요약

1. 문제 상황 설명

  • 인증 토큰이 만료된 경우 여러 컴포넌트가 동시에 토큰 갱신 요청을 발생시킬 수 있습니다.
  • 이로 인해 중복된 네트워크 호출성능 저하가 발생합니다.
  • isTokenExpired() 함수를 통해 토큰 유효성을 확인합니다.

2. 요청 병합 기술 설명

  • refreshTokenPromise 변수를 사용해 동시 요청 시 단일 프로미스를 공유합니다.
  • fetchRefreshToken() API 호출 결과를 모든 요청에 공유하여 중복 호출을 방지합니다.
  • 에러 처리finally()를 통해 프로미스 상태를 초기화합니다.

3. 코드 구현 예시

  • getAuthorizationToken() 함수 내에서 refreshTokenPromise를 체크하고, 존재하지 않을 경우 토큰 갱신 요청을 시작합니다.
  • Cookies 라이브러리를 사용해 토큰 값을 저장/업데이트합니다.
  • refreshTokenManager()를 통해 리프레시 토큰을 관리합니다.

결론

  • refreshTokenPromise 변수를 통해 중복된 API 요청을 방지하고, 네트워크 효율성을 높이는 것이 핵심입니다.
  • 에러 처리프로미스 초기화 로직은 시스템 안정성을 확보하는 데 필수적입니다.
  • 인증 토큰 관리 시 요청 병합 기술을 적용해 성능 향상을 달성하세요.