小白关于“消息队列”处理“秒杀”业务的疑惑!

背包客1 背包客1 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在学消息队列,一些不懂得地方,希望得到各位的解答,谢谢。
各大网站上面写到消息队列的时候,都有一个介绍说,能处理秒杀业务,比如数据库10个商品,有100个请求过来,先将请求放到队列里面,然后取队列里面取10个请求,然后对数据库进行操作。请求实列图如下(阿里云复制的)

原文地址:http://www.cnblogs.com/linjiqin/p/5720865.html

“将请求放入队列”,一度我以为,“队列”这个东西,可以把一个"http请求"存起来,程序到队列里面取的时候,取出来的还是一个“http请求”,然后把请求可以返回给客户端,我今天尝试了微软的msmq,简单的用了一下,好像队列只能放字符串,我就蒙了,那如果是这样,那怎么处理这个秒杀??

后面问了一些人,说这个队列是放请求的数据,不是“请求”。

就上面秒杀的例子,下面有这些疑问:
1、队列存放数据,假如我一个http请求发过来,服务器把请求数据放到队列里面,然后我的请求是不是会释放返回给客户端?此时客户端的状态或者表现是什么呢?等待中吗?
2、我数据库只有10个商品,我把请求的数据都放到队列里面,那队列怎么样通知我的程序,通知他可以开始去取队列里面的数据呢?
3、我的程序从队列里取出了数据,处理好了,我怎么样去通知前端在等待的界面,显示结果呢??



求各位有经验的大神,帮我分析一下这些细节,谢谢!


...全文

相关推荐

秒杀业务实现

相对完善的秒杀业务实现,代码应用spring boot+mybatis+redis+activemq+mysql实现,对我们理解高并发业务场景设计有很大帮助,欢迎大家前来下载

king_eagle2015

SpringCloud-Alibaba微服务架构实战教程—20RocketMQ消息队列的使用

前言 今天的主体,是消息队列的使用,在开始之前,就简单的说明几个要点问题,这样避免读者疑惑,消息队列是个很大的东西,不是三言两语就可以说清楚的,所以本文只选了部分要点进行简单的说明。有不足或者偏颇之处,望读者知悉。 什么是消息队列? 消息队列是指利用高效可靠的消息传递机制进行与平台无关的数据交流。 为什么需要消息队列? 首先,从系统之间要求有通信需求开始,就产生了消息队列的需要。 其次,由于在高并发环境下,服务往往来不及同步处理大量请求,请求就会发生阻塞,比如说,大量的insert,update之

江湖一点雨

微服务SpringBoot整合Redis基于Redis的Stream消息队列实现异步秒杀下单

资源微服务SpringBoot整合Redis基于Redis的Stream消息队列实现异步秒杀下单知识分享

菲尔兹数学

秒杀业务详解

通过学习此文件,可以详细的了解秒杀的操作流程和代码书写

qq_39817026

基于SpringBoot框架与Redis缓存技术结合消息队列实现高并发场景下商品秒杀业务的高性能分布式系统_秒杀业务处理_高并发优化_库存管理_订单处理_防止超卖_用户体验提升_适.zip

基于SpringBoot框架与Redis缓存技术结合消息队列实现高并发场景下商品秒杀业务的高性能分布式系统_秒杀业务处理_高并发优化_库存管理_订单处理_防止超卖_用户体验提升_适.zip

gaoxu666666
评论 21
收藏 已收藏
分享
返回顶部
背包客1
非技术区 7,776 成员 63,111 内容