我有一個系統需要向外部系統發送請求,只要用戶在我的系統上進行搜索。客戶端服務器系統中退避機制的模式
如果外部系統關閉或需要非常長的時間來回答,我希望我的系統「退後」一段時間。與其試圖向外部系統發出更多請求,我只想讓我的系統用戶立即知道我們目前不會處理他們的請求。
這會爲用戶帶來更好的體驗(不必等待超時),我的系統中的資源佔用更少(線程不會忙於等待外部系統沒有響應或超時)以及它會省掉外部系統。 (在可能已經處於負載狀態的情況下)
經過一段時間,或者當我的系統發現外部系統再次響應時,我想再次恢復正常行爲。
是否有任何模式或標準的方式來做這種事情?具體來說就是跟蹤超時/超時請求的機制,以及什麼時候我們應該再次嘗試的控制機制。