黑马点评订单如何保证一定成功?

有个困惑,黑马点评异步秒杀中怎么保证订单一定成功(或者失败了怎么解决),以及如果订单添加到了数据库但是库存扣减失败或者库存成功订单失败,这两个问题怎么解决。
求大佬解答。
#黑马点评#
全部评论
异步线程从消息队列中获取消息后,开始减库存并插入订单,两个操作是加事务的,肯定同时成功和失败。 (我觉得有点意思的是lua脚本要是执行一半后失败该怎样处理倒是很好的问题)
6 回复 分享
发布于 2024-07-27 18:04 上海
redis+lua脚本
点赞 回复 分享
发布于 2024-08-12 15:58 上海
黑马扣减库存是在redis用lua完成的,不成功不会写入数据库
点赞 回复 分享
发布于 2024-08-07 19:13 广东
加事务
点赞 回复 分享
发布于 2024-07-28 17:05 广东
我记得黑马点评那块不是用事务了吗?因为那个是内部调用存在事务失效的情况,所以人家用的事务的代理对象,
点赞 回复 分享
发布于 2024-07-27 17:16 甘肃
m
点赞 回复 分享
发布于 2024-07-27 17:14 江苏

相关推荐

04-10 17:12
已编辑
重庆大学 Java
1.自我介绍2.如何学习java,是通过学校课程学习还是自学的?3.用户登录校验是如何做的?4.你说用redis对活跃的token实现刷新过期时间,这个功能你是如何实现的?5.频繁的时间戳更新会不会导致redis大量的内存被占用,想别的方案来解决6.redis对key值的过期策略是怎样的?8.介绍你的缓存更新策略吧(我提到redis中的cache Aside策略,补充了消息广播实现本地缓存数据一致性,利用kafka中不同消费组订阅同一topic实现消息广播,某一节点删除缓存时,其他节点都删除本地缓存,从而实现分布式系统本地缓存的一致性)7.JVM中垃圾回收(GC)的策略是怎样的?9.你使用了Redisson实现分布式锁,请解释一下Redisson分布式锁中的看门狗机制10.解释一下Mybatis如何防止sql注入,MybatisPlus中是如何将方法映射为sql的11.你使用了Shardingsphere进行分库分表,那Shardingsphere的底层是怎样的呢11.再介绍一下你项目中的亮点吧(定时对账:在kafka宕机时进行埋点,记录日志。恢复后回滚到之前的库存状态;延迟队列:使用Redisson的延迟队列,为业务设定一个延迟的时间执行)12.你另外一个项目中的Agent是如何设计的13.详细讲讲离线上传中长文本如何分块,固定分块有什么劣势,你如何设计分块方案(面试官补充了语义网络的概念)算法LRU职业规划方向反问面试官人很好,比较看重你实际项目开发中对使用过的技术栈的底层原理的理解以及业务的设计
查看16道真题和解析
点赞 评论 收藏
分享
评论
3
62
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务