[계측 플랫폼 / 트러블슈팅]

요청이 몰려 429가 나고 로그아웃되던 문제

2026.11.13 수정
건설 현장 계측 모니터링 플랫폼 프로젝트에서 나온 글입니다.

화면 하나를 열 때 같은 요청이 수십 번 나가서 서버가 429를 돌려주고, 그 응답 때문에 로그아웃되던 문제입니다.

증상

  • 특정 화면에 들어가면 가끔 로그인 화면으로 튕긴다
  • 서버 로그에 429가 몰려 있다

원인

같은 데이터를 여러 컴포넌트가 따로 불렀고, 화면이 다시 그려질 때마다 요청이 또 나갔다. 응답 가로채기에서는 401뿐 아니라 429까지 “로그인 만료”로 처리하고 있었다.

해결

  • 같은 데이터는 훅 하나에서만 부른다
  • 429는 로그아웃 사유에서 뺀다
if (error.response?.status === 401) {
  logout();
}
// 429 는 잠시 뒤 다시 시도

배운 것

장애 원인이 서버가 아니라 화면 쪽 호출 습관에 있을 수 있다.

같은 시기에 권한 판단도 한 곳으로 모았다. → 역할 이름을 버리고 권한으로 판단하기

입력 오류를 보여 주는 방법도 같이 바꿨다. → 입력 오류는 고칠 칸 바로 아래에 (일부 공개 예시)

이 글을 언급한 글