재시도는 기회와 부하를 함께 늘린다
가상의 검색 도구가 한 번 시도할 때 40% 확률로 성공한다고 하자. 각 시도가 독립이라면 최대 세 번 안에 한 번 이상 성공할 가능성은 1−0.6³=78.4%다. 그러나 세 번 모두 실행하면 호출 비용과 서버 부하도 최대 세 배가 된다.
Google SRE의 과부하 처리 사례는 요청별 최대 세 번 시도와 클라이언트별 재시도 비율 제한을 사용한다. 광범위한 과부하가 보이면 재시도하지 않고 오류를 호출자에게 전달하며, 여러 계층이 동시에 재시도해 폭발적으로 요청이 늘어나는 상황을 막는다.
예산과 중단 신호를 함께 두기
아래 활동에서 한 번의 성공 가능성 10~90%, 최대 시도 1~5회, 시도당 비용 1~10점을 바꾼다. 독립 가정의 한 번 이상 성공 가능성과 최대 비용이 함께 갱신된다. 성공 가능성만 보면 시도를 늘리고 싶지만 비용도 나란히 봐야 한다.
과부하 신호를 켜면 모형은 최초 한 번 뒤 재시도를 중단한다. 같은 원인으로 실패가 이어지는 상황에서는 독립 가정으로 계산한 이득이 과장될 수 있다. 오류 종류와 서버 상태가 중단 조건에 들어가야 한다.
누가 다시 시도하는지도 기록하기
사용자 화면, AI 에이전트, 중간 서버가 모두 세 번씩 시도하면 한 요청이 여러 갈래로 증폭될 수 있다. 재시도 책임을 한 계층에 두고 시도 횟수를 요청 기록에 남기면 중복 실행을 줄일 수 있다.
결제·메시지 전송처럼 중복 실행이 결과를 두 번 만들 수 있는 도구에는 멱등성 키나 사후 상태 확인도 필요하다. 이 활동은 확률과 비용의 관계만 보여 주며 실제 서비스의 재시도 정책을 자동 결정하지 않는다.

