프록시가 마감 시한 하나를 놓친다. 풀이 그것을 삭제한다. 한 시간 뒤 프록시는 다시 건강하지만, 애플리케이션은 기록을 버렸기 때문에 이를 알아낼 방법이 없다.

삭제는 취소된 계정이나 운영자가 은퇴시킨 엔드포인트에는 적절할 수 있다. 일시적 실패는 다른 상태를 받을 자격이 있다.

다음 결정을 내릴 만큼의 이력을 남겨라

적격
현재 정책에 따라 일반 작업에 사용할 수 있다.
쿨다운 중
기록된 마감 시한까지 일시적으로 보류된다.
검사 허용
한 번의 통제된 시도로 복구를 평가할 수 있다.
비활성
운영자나 지속적인 조건이 서비스에서 제거했다.

전환과 함께 이유와 단계를 저장하라. 연결 거부, 거부된 자격 증명, 느린 응답 본문, 목적지 HTTP 오류가 모두 하나의 구분 없는 "죽은 프록시" 카운터를 올려서는 안 된다.

프로세스 내 쿨다운에는 경과 시간 시계를 사용하라. 단조 시계는 짧은 대기가 벽시계 조정에 의존하지 않게 한다. 단조 타임스탬프를 다른 기계와 공유하는 이식 가능한 날짜인 것처럼 저장하지 마라. 분산 스케줄러에는 별도로 정의된 시간과 소유권 모델이 필요하다.

복구가 몰려드는 요청을 풀어서는 안 된다

마감 시한이 지나면 대기 큐 전체를 한꺼번에 보내지 말고 작은 복구 시도를 허용하라. 성공한 시도는 적격성을 회복할 수 있고, 또 다른 실패는 제한된 정책에 따라 일시 중지를 연장할 수 있다.

검사는 그것이 예측해야 할 작업에 맞춰 선택하라. 성공한 TCP 연결은 완전한 HTTP나 SOCKS 트랜잭션이 아니다. 무관한 IP 확인 페이지는 필요한 목적지에 도달할 수 있는지 또는 허용되는지를 입증하지 않는다.

프록시라는 단어에서 보편적인 쿨다운 기간이 나오지는 않는다. 작업의 지연 예산, 서비스의 동작, 또 한 번의 실패한 시도의 결과로 정하라. 일시적 중단이 조용히 영구적인 용량 손실이 되지 않도록 엔드포인트 기록을 보존하라.

관련 글