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