Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

외부 api 연동과 timeout 시간 설정 기준 #147

Open
skarltjr opened this issue Feb 1, 2023 · 0 comments
Open

외부 api 연동과 timeout 시간 설정 기준 #147

skarltjr opened this issue Feb 1, 2023 · 0 comments
Labels

Comments

@skarltjr
Copy link
Owner

skarltjr commented Feb 1, 2023

  1. 개요
이전에 많은 외부 api와 연동해야하는 서버를 개발해야한적이 있었다.
외부 api의 장애의 영향력을 줄이기 위한 가장 기본적인 행동 중 하나로 timeout 시간을 설정하고자했다.
기본 timeout은 30초로 잡혀있었고 이를 3~5초 정도로 설정했다.

다만.. 아쉬운점은 이 시간을 설정하는데에있어 명확한 근거가 있다기보단
최범균님 영상에서 언급된 일반적인 설정시간을 따라했다.
  1. 그럼 무엇을 고려하여 timeout을 설정해야할까?
우선 분명한 기준자체는 당연히 없다.
각 상황에 따라 판단이 필요하다.
  • 팀 혹은 조직의 판단
    • 하나의 조직에서 기준으로 잡는 시간( = 장애라고 판단하는 임계치)이 존재할 수 있다.
  • 각 외부 api 예상 응답 시간
    • 각각의 외부 api마다 어느 정도의 예상 혹은 기대하는 응답 시간이 존재할 것
    • 이를 고려 할 필요가 있다.
  • workloads
    • 무거운 데이터를 주고 받는 경우 시간을 좀 더 부여할수도있다.
  1. 지나치게 짧은 / 긴 timeout의 문제점
  • 지나치게 짧다면 외부 api에 문제가 없음에도 이를 장애라고 판단해버릴 수 있다
  • 지나치게 길다면 우리의 서비스는 필요 이상으로 외부 api 응답을 기다리고
    이로인해 서비스의 응답시간 자체가 길어진다.
    서비스의 응답 시간을 잡아먹는 요소는 집계, 외부 서비스 연동, db가 있을 수 있다.
@skarltjr skarltjr added the Record label Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant