首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
首页 /
业务讨论
#
业务讨论
#
189次浏览
3人互动
收藏话题
分享
此刻你想和大家分享什么
热门
最新
06-09 19:20
门头沟学院 Java
一个二手闲置商城,订单与商品模块之间的交互问题
购物车与商品用户的交互问题:1.首先,分析问题的背景:当用户在商品的界面点击立即购买的时候,如果没有购物车,那么现有的架构是:直接调用api传输商品详情+卖家Id+买家ID,直接跳转到支付界面上,例如填写个人信息,填写地址......上述的方式对于购买流程而言,需要设计的只有:服务之间的同步,那么就引发了一个问题:当我用户点击立即购买的时候,需要直接将商品的状态进行锁定吗?如果锁定的话,那么锁定的时间是多少?如果不锁定的话,商品被别人买走了怎么办?假如锁定的话,会不会出现恶意购买?如果不锁定的话,库存问题如何解决?这是我目前项目中出现的问题,以前的架构是:假如我点击立即购买的时候,则锁定了商品,此时这个订单处于待支付状态,这也出现了我朋友的实际在应用层面的黑盒测试的时候,出现了这个问题,其他朋友就无法正确的访问这个商品了,此时虽然支付时间回调是5分钟,但是这个过程等待十分久,假如很多人同时只点击购买不支付,或者别人只想看看呢?这就是一个bug了针对这个bug,我的想法是这样的:前端: 携带 商品ID、数量、用户ID 请求订单服务。订单服务 收到请求后,不会立即操作数据库。它会先去查询 商品服务 获取商品信息(价格、名称等),并检查缓存中的可预扣减库存是否充足。如果 Redis 中的 `product:stock:123` 的值大于购买数量,订单服务就在 Redis 中将库存减掉,并生成一个有时效性的临时订单,有效期是 10分钟,返回临时订单号,前端跳转到支付确认页面。这个页面上会有一个倒计时,提醒用户在规定时间内完成支付。另外,我在想,二手闲置商城,需要购物车模块吗?欢迎大家评论讨论
点赞
评论
收藏
分享
玩命加载中
创作者周榜
更多
热议话题
更多
1
...
26届的你们有几段实习?
0
2
...
打工人的工作餐日常
0
3
...
你被哪些公司秒挂过?
0
4
...
月薪多少能在一线城市生存
0
5
...
如何提高实习转正率?
0
6
...
你后悔自己读研吗?
0
7
...
你认为哪些项目算烂大街?
0
8
...
你以为的实习VS真实的实习
0
9
...
当下环境,你会继续卷互联网,还是看其他行业机会
0
10
...
双非能在秋招上岸吗?
0
牛客网
牛客网在线编程
牛客网题解
牛客企业服务