사용자가 시스템에서 검색 할 때마다 외부 시스템에 요청을 보내야하는 시스템이 있습니다.클라이언트 서버 시스템에서 백 오프 메커니즘을위한 패턴
외부 시스템이 다운되었거나 비정상적으로 응답하는 데 시간이 오래 걸리는 경우 잠시 시스템을 "back off"하고 싶습니다. 외부 시스템에 더 많은 요청을하는 대신, 시스템의 사용자가 즉시 요청을 처리하지 않도록 즉시 알리고 싶습니다.
이렇게하면 사용자 환경이 더 좋아지며 (시간 초과를 기다릴 필요가 없음) 내 시스템에서 리소스 사용량이 줄어 듭니다 (스레드는 외부 시스템에서 응답 또는 시간 초과를 기다리지 않고 바쁠 것입니다). 그것은 외부 시스템을 보호 할 것입니다. (이미 부하로 인해 어려움을 겪고있는 상황)
잠시 후 또는 내 시스템에서 외부 시스템이 다시 응답하고 있음을 발견하면 정상적인 작동을 다시 시작하고 싶습니다.
이런 종류의 일을하는 데 필요한 패턴이나 표준 방법이 있습니까? 특히 타임 아웃/롱 요청을 추적하기위한 메커니즘, 그리고 다시 시도하기 시작할 때 필요한 제어 메커니즘.