2017-03-09 16:48:13 1969次浏览 2条回答 0 悬赏 20 金钱

看了处理高并发下单解决方案

库存只有10 每次有人下单,就丢到队列里面,然后队列里面校验库存,这样有并发的时候也只是多插入了队列

疑问

把请求下单放到了列队里面 也就是说本次请求只是加入了列队没有下单入库请求就结束了 那么列队里的请求通过什么方式来触发处理?列队里面的前10可以下单成功 其他的下单失败 那么怎么返回给客户呢?这会用户下单的请求已经结束了

最佳答案

  • BoyLee 发布于 2017-03-13 10:59 举报

    队列可以通过常规php 访问进行数据库写入,结果可以通过ajax获取。

    场景如下:

    1. /order 正常下单到达下单结果页,这是现实正在下单,同时已经将本次下单写入队列
    2. 结果页启动ajax 10s/次,拿到反馈后更新页面, 成功或失败。
  • 回答于 2017-03-10 09:34 举报

    队列里大于等于10,不就即时返回失败给客户端吗,假设不小心队列超出10了,在支付的时候再进行一次处理,先支付的先得

    1 条回复
    回复于 2017-03-10 10:09 回复

    嗯 超过10的可以即时返回 那列队里的10通过什么方式来触发处理 怎么返回给客户下单成功?

您需要登录后才可以回答。登录 | 立即注册
路人甲
见习主管

路人甲

注册时间:2015-06-24
最后登录:2017-09-26
在线时长:11小时13分
  • 粉丝3
  • 金钱125
  • 威望0
  • 积分235

热门问题