接口幂等性

接口幂等性

Scroll Down

幂等性解释

某一元运算为幂等时,其作用在任意元素的两次后会和其作用一次的效果相同。一个幂等特点是其任意多次执行所产生的的影响均与一次执行影响相同。

业务场景

用户可能因为网络延迟或者失误,多次点击类似提交按钮导致发送相同数据到后端。

方案A

描述:数据库乐观锁
适用:适用于数据的更新操作
缺点:需要解决重试问题,增加服务器压力。

方案B

描述:利用token进行放重请求过滤
思路:在接收请求时,获取含有token的请求头和请求参数数据,将特定字段+请求头作为key,请求参数作为value存入redis中,并设置销毁时间。每次请求时,都先将请求头去redis中查找,如果有的话就对比,没有的话就存入。以此来方式重复请求问题的发生。

方案C

描述:前端请求按钮设置加载属性。
思路:在发送请求前,设置请求按钮为加载中,请求结束后,修改加载按钮为完成。