무난했던 아티클

자바스크립트를 이용한 재시도 로직 구현하기(Korean FE article Team)

아티끌모아태산 2024. 6. 25. 15:21

출처 : https://velog.io/@tap_kim/implement-retry-logic-using-javascript

 

(번역) 자바스크립트를 이용한 재시도 로직 구현하기

이번에 소개해 드릴 글은 다양한 방식의 재시도 전략에 대해서 알려드리고자 합니다. 저자는 자바스크립트에서 활용할 수 있는 6가지 다양한 방식의 전략과 효과적인 수행을 위한 2가지의 라이

velog.io

원문 :  https://anu95.medium.com/implement-retry-logic-using-javascript-e502693e0b5c

 

api요청을 하다보면 굉장히 다양한 이유로 실패를 하게 된다. 이때 보통 재시도 로직을 구현하고,  TanStack-Query에서는 기본적으로 retry옵션이 제공된다.

 

아티클에서는 어떤 방법으로 retry를 할 수 있는지에 대해 제공해준다

 

 

 

내용

재시도로직 github 링크 

 

tech-articles/rerty-strategies-js at main · officialanurag/tech-articles

Technical Articles. Contribute to officialanurag/tech-articles development by creating an account on GitHub.

github.com

 

링크를 통해서 예제를 직접 확인할 수 있는데,

  1. 지수 백오프
  2. 선형 백오프
  3. 고정 지연
  4. 피보나치 백오프
  5. 무작위 백오프
  6. 즉시 재시도

를 예시 코드와 함께 제공해준다.

그리고 효과적인 재시도를 위해서는  아래 3가지를 고려해야 한다고 한다.

1. 재시도 시기 결정

2. 재시도 제한

3. 사용자 경험 주시

 

느낀점

tanstack-query를 사용하면 기본적인 get요청에서는 default값으로 3번의 retries를 진행한다. 이때 굳이 지연을 할 필요성도 느끼지 못했고, 즉시 재시도하는 로직으로 구현을 했다.

그리고 JWT를 사용할 때, 해당 옵션을 활용하여  어세스 토큰 검사-> 리프레시 토큰 확인 로직을 구현했다.

 

해당 아티클에서 말한데로 재시도는 제한할 필요가 있고, 사용자 경험을 주시하여, 재시도 시기를 결정해야 하는데

아직 다양한 비지니스 모델을 체험하지 못해선지 생각이 나는게 없었따..

 

Chat GPT 한테 물어보니 클라우드 서비스의 경우에는 네트워크 부하를 막기 위해 종종 사용한다는데,, 아직 잘 와닿지 않았다..

 

그래서 무난하게는 읽었지만 큰 공감은 없어서 ... 카테고리 분류를 무난했던 아티클로 했다..

물론 관련 예시를 코드로 제공해주고 주석이 달려 있어서 이해해는 큰 도움이 되었다.