幂等性的核心特点
:任意多次执行所产生的影响均与一次执行的影响相同。
对于业务中需要考虑幂等性的地方一般都是接口的重复请求,重复请求是指同一个请求因为某些原因被多次提交。导致这个情况会有几种场景:
1、前端重复提交
:提交订单,用户快速重复点击多次,造成后端生成多个内容重复的订单。
2、接口超时重试
:对于给第三方调用的接口,为了防止网络抖动或其他原因造成请求丢失,这样的接口一般都会设计成超时重试多次。
3、消息重复消费
:MQ 消息中间件,消息重复消费。 对于一些业务场景影响比较大的,接口的幂等性是个必须要考虑的问题,例如金钱的交易方面的接口。否则一个错误的、考虑不周的接口可能会给公司带来巨额的金钱损失,那么背锅的肯定是程序员自己了。