1.有一个用户在10毫秒内提交了两个请求.前端已经上了应用市场,所以改不了,只能从java下手.请问怎么设计能将第二个请求直接打回?并且需要考虑并发情况
补充:如果需要对所有的接口都进行这种过滤,请问需要如何设计?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
写个拦截器,过滤下。对于连续两次相隔时间大于10ms的过滤下
PHP的laravel框架里有个概念就是中间件,可以把请求都先用指定的中间件过滤下。
不过估计你现在的情况得用到内存数据库。把请求的内容编码后插入到库里(加上请求时间字段),响应请求时候先查询是否有编码相同的请求,如果没有响应请求,如果有,比对时间差后再做处理。
过于频繁请求的用户可以加入黑名单。
当然这都还有个必要条件就是请求的内容里可以判断出用户,不然就难搞了。
写个拦截器,过滤下。对于连续两次相隔时间大于10ms的过滤下
PHP的laravel框架里有个概念就是中间件,可以把请求都先用指定的中间件过滤下。
不过估计你现在的情况得用到内存数据库。把请求的内容编码后插入到库里(加上请求时间字段),响应请求时候先查询是否有编码相同的请求,如果没有响应请求,如果有,比对时间差后再做处理。
过于频繁请求的用户可以加入黑名单。
当然这都还有个必要条件就是请求的内容里可以判断出用户,不然就难搞了。