← 질문 목록
#379깊이 0

재시도 간격을 지수로 늘려야 하는 이유는 무엇인가?

아키텍처 · 분산시스템

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

장애가 난 서버에 트래픽이 한 번에 쏠리는 재시도 폭풍을 막기 위해서다.

  1. 클라이언트→서버

    1차 요청 (실패)

  2. 클라이언트→서버

    1초 후 2차 요청 (실패)

  3. 클라이언트→서버

    2초 후 3차 요청 (실패)

  4. 클라이언트→서버

    4초 후 4차 요청 (실패)

네트워크 순간 일렁임이나 순간적인 서버 부하는 짧은 시간 안에 사라진다. 실패 직후 같은 간격으로 계속 요청을 보내면 복구 중인 서버가 다시 무너진다.

지수 백오프는 재시도 횟수가 늘 때마다 대기 시간을 두 배씩 늘린다. 서버가 한숨 돌리고 내부 자원을 정리할 시간을 벌어준다.

여러 클라이언트가 동시에 실패하면 백오프 시간이 같아져 특정 시점에 요청이 다시 겹칠 수 있다. 무작위 대기 시간을 더하는 지터를 함께 섞어 요청을 흩뜨린다.

추천 꼬리질문

0/300

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

관련 질문

재시도 간격을 지수로 늘려야 하는 이유는 무엇인가?