You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
이전에 많은 외부 api와 연동해야하는 서버를 개발해야한적이 있었다.
외부 api의 장애의 영향력을 줄이기 위한 가장 기본적인 행동 중 하나로 timeout 시간을 설정하고자했다.
기본 timeout은 30초로 잡혀있었고 이를 3~5초 정도로 설정했다.
다만.. 아쉬운점은 이 시간을 설정하는데에있어 명확한 근거가 있다기보단
최범균님 영상에서 언급된 일반적인 설정시간을 따라했다.
그럼 무엇을 고려하여 timeout을 설정해야할까?
우선 분명한 기준자체는 당연히 없다.
각 상황에 따라 판단이 필요하다.
팀 혹은 조직의 판단
하나의 조직에서 기준으로 잡는 시간( = 장애라고 판단하는 임계치)이 존재할 수 있다.
각 외부 api 예상 응답 시간
각각의 외부 api마다 어느 정도의 예상 혹은 기대하는 응답 시간이 존재할 것
이를 고려 할 필요가 있다.
workloads
무거운 데이터를 주고 받는 경우 시간을 좀 더 부여할수도있다.
지나치게 짧은 / 긴 timeout의 문제점
지나치게 짧다면 외부 api에 문제가 없음에도 이를 장애라고 판단해버릴 수 있다
지나치게 길다면 우리의 서비스는 필요 이상으로 외부 api 응답을 기다리고
이로인해 서비스의 응답시간 자체가 길어진다.
서비스의 응답 시간을 잡아먹는 요소는 집계, 외부 서비스 연동, db가 있을 수 있다.
The text was updated successfully, but these errors were encountered:
이로인해 서비스의 응답시간 자체가 길어진다.
서비스의 응답 시간을 잡아먹는 요소는 집계, 외부 서비스 연동, db가 있을 수 있다.
The text was updated successfully, but these errors were encountered: