API接口幂等性问题

1、幂等是指同一个请求被执行多次,在网络不稳定抖动的情况下,同一个请求可能被执行多次;例如:添加数据的时候,同一请求多重就会造成数据重复;同一请求多次执行也会造成服务器的压力;甚至一些逻辑不严谨的系统报错;

基于token令牌解决幂等问题的思想:

请求要带token过来,请求先拿token去进行查询,查询成功后马上删除,再进行业务逻辑处理;下个请求过来的时候就会查询无此token,后续逻辑就不会继续下去了;避免了重复请求;就是幂等问题;

 

MQ的重试机制的BUG问题:在MQ的信息在业务处理失败的时候会进行重试;如果用上述方法解决幂等问题,就会造成数据一直重试;业务无法处理问题;

这个时候就将业务数据关联上token,当业务处理成功的时候数据插入;当第二次请求来的时候先去查询该表数据是否执行成功了;执行成功了就不再执行;执行失败了再次执行;

posted on 2020-01-17 22:03  JAVA-ROAD  阅读(647)  评论(0)    收藏  举报

导航