← 질문 목록
#329깊이 0

단계마다 타임아웃을 5초씩 주면 무엇이 잘못되는가?

아키텍처 · 분산시스템심화장애 대응

시간이 더해지기 때문이다. 단계마다 따로 5초를 주면 최악에 15초가 된다. 아래는 그러지 않게 예산을 한 번만 정해 내려보내는 모양이다.

순서전체 예산무슨 일
15초게이트웨이
23초 남음서비스 A
31초 남음서비스 B
40초사용자에게 오류

사용자는 15초를 기다리지 않는다. 그리고 떠난 뒤에도 서버는 계속 돈다. 아무도 안 볼 답을 만드느라 자원을 쓴다.

그래서 시간을 위에서 한 번 정하고 내려보낸다. 각 단계는 남은 만큼만 쓰고, 남은 것이 없으면 아예 시작하지 않는다.

재시도를 붙일 때 특히 그렇다. 남은 시간을 안 보고 재시도하면 예산을 넘긴 채로 계속 두드린다.

취소 신호도 아래 단계까지 전해져야 한다. 사용자가 떠났는데 아래 단계가 계속 도는 것은 그만큼 자원을 버리는 일이다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

단계마다 타임아웃을 5초씩 주면 무엇이 잘못되는가?