幂等设计的8种实现方式
数学符号:f(f(f(x))) = f(x)
即无论操作执行一次还是多次,其效果始终如一,不会有差异。这就是幂等性。
什么是幂等性?
接口幂等性就是用户对于同一操作
发起的一次请求或者多次请求的结果是一致的
,不会因为多次点击而产生了副作用。比如:公交车刷卡,用户上车后刷码支付扣款成功,如果用户再次点击按钮刷卡并扣款成功,用户查询余额返发现多扣钱了,流水记录也变成了两条,这就没有保证接口的幂等性。因此,当你重复刷卡时,会提示:刷码重复。
数学符号:f(f(f(x))) = f(x)
即无论操作执行一次还是多次,其效果始终如一,不会有差异。这就是幂等性。
接口幂等性就是用户对于同一操作
发起的一次请求或者多次请求的结果是一致的
,不会因为多次点击而产生了副作用。比如:公交车刷卡,用户上车后刷码支付扣款成功,如果用户再次点击按钮刷卡并扣款成功,用户查询余额返发现多扣钱了,流水记录也变成了两条,这就没有保证接口的幂等性。因此,当你重复刷卡时,会提示:刷码重复。
我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。
单机房一旦死机,断电、维护根本无法挽回整个数据,想离线读取等都不行。当一个机房不可用,所有的业务就都不可用。
1 秒杀业务分析
正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货
秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;