资损防控系列(3)-----并发

1,应用场景

   抢购、秒杀、批量交易处理、交易处理

 

2,并发防资损checklist

状态控制失效:1.更新记录带原状态更新;2.状态更新后判断影响行数等于1

限制数值失效:金额、库存、限购次数

并发导致业务唯一约束失效

多级缓存导致数据脏读:读取、更新

【1】状态控制失效

      1.1 说明

        以退款交易为例,正常退款状态流转为“新建>>退款中>>退款成功”。

        并发情况下,请求A和B同时对一条成功交易X进行退款,A和B都退款成功,产生资损

      1.2 资损原因

        请求A和B并发请求时,均对成功交易请求退款,请求退款操作时,状态从“新建>>退款中”时,做如下操作:

         a,更新记录带原状态更新

         b,状态更新后判断影响行数等于1

         若上面两步处理不到位,即A和B都会退款成功,导致资损

       1.3 测试方法

         Jmeter多线程请求同一笔成功交易退款,只有一条退款成功记录。

         要求研发对库存操作时,更新状态时要带原状态更新

 

转载于:https://www.cnblogs.com/sunshinystraw/p/6867706.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值