1.有一個用戶在10毫秒內提交了兩個請求.前端已經上了應用市場,所以改不了,隻能從java下手.請問怎麼設計能將第二個請求直接打回?並且需要考慮並發情況
補充:如果需要對所有的接口都進行這種過濾,請問需要如何設計?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
寫個攔截器,過濾下。連續兩次相隔時間大於10ms的過濾下
PHP的laravel框架裡有個概念就是中間件,可以把請求都先用指定的中間件過濾下。
不過估計你現在的情況得用到記憶體資料庫。把請求的內容編碼後插入到庫裡(加上請求時間欄位),回應請求時候先查詢是否有編碼相同的請求,如果沒有回應請求,如果有,比對時間差後再做處理。
過於頻繁要求的用戶可以加入黑名單。
當然這都還有個必要條件就是請求的內容裡可以判斷出用戶,不然就難搞了。
寫個攔截器,過濾下。連續兩次相隔時間大於10ms的過濾下
PHP的laravel框架裡有個概念就是中間件,可以把請求都先用指定的中間件過濾下。
不過估計你現在的情況得用到記憶體資料庫。把請求的內容編碼後插入到庫裡(加上請求時間欄位),回應請求時候先查詢是否有編碼相同的請求,如果沒有回應請求,如果有,比對時間差後再做處理。
過於頻繁要求的用戶可以加入黑名單。
當然這都還有個必要條件就是請求的內容裡可以判斷出用戶,不然就難搞了。