1
假設我有一個API getName(String id)的restful服務X.我的代碼被部署到位於負載平衡器後面的5臺機器。相同的客戶端代碼在這些機器上運行,並在某處調用getName(String)api的服務X.該服務已經設置了一個限制,即每秒最多可處理3個呼叫。假設請求的週轉時間爲200毫秒,我如何確保我的客戶端不超過服務器的3 TPS限制?我沒有任何機制讓我的客戶相互溝通。如何避免服務器端的限制。如果我將車隊規模從5增加到10或15,該怎麼辦?有什麼我可以做的嗎?如何確保客戶端代碼在多臺計算機上運行時的服務調用上限?
會像截斷的指數退避對我有用嗎?
指數退避是真正的客戶端重新嘗試打你的服務....並防止頻繁重試壓倒你的服務...在你的情況下,你需要禁止超過每秒調用總數正確....從任何ip每秒不超過3個電話? – prashant
我照顧客戶端。我如何確保每秒不超過3次電話是我的問題,爲什麼你要求回大聲笑。我不知道如何確保這就是我要求的 –
如果你每秒撥打3次以上的電話會發生什麼?您是否遇到識別問題的錯誤,以後可以重試請求嗎?請求失敗的次數是否爲每秒3次? –