1.有一个用户在10毫秒内提交了两个请求.前端已经上了应用市场,所以改不了,只能从java下手.
请问怎么设计能将第二个请求直接打回?并且需要考虑并发情况
补充:如果需要对所有的接口都进行这种过滤,请问需要如何设计?
PHPz2017-04-18 10:57:18
PHP的laravel框架裡有個概念就是中間件,可以把請求都先用指定的中間件過濾下。
不過估計你現在的情況得用到記憶體資料庫。把請求的內容編碼後插入到庫裡(加上請求時間欄位),回應請求時候先查詢是否有編碼相同的請求,如果沒有回應請求,如果有,比對時間差後再做處理。
過於頻繁要求的用戶可以加入黑名單。
當然這都還有個必要條件就是請求的內容裡可以判斷出用戶,不然就難搞了。