miaosha icon indicating copy to clipboard operation
miaosha copied to clipboard

分布式事务一致性问题

Open Aska-Hou opened this issue 2 years ago • 0 comments

下面代码是有问题的,rpc扣减库存如果事务回滚,商品服务的库存数据是要被加回来的,本地事务满足不了要用分布式事务。

@Transactional public OrderInfo miaosha(MiaoshaUser user, GoodsVoOrder goods) { //减库存 下订单 写入秒杀订单 // update miaosha_goods set stock_count = stock_count - 1 where goods_id = #{goodsId} and stock_count > 0 boolean success = goodsServiceRpc.reduceStock(goods); if (success) { return orderService.createOrder(user, goods); } else { //如果库存不存在则内存标记为true setGoodsOver(goods.getId()); return null; } }

Aska-Hou avatar Jun 18 '22 13:06 Aska-Hou