MQ处理高并发能支撑多大的量?
最近碰到一个并发问题,打算用mq做异步处理,然后有一个疑问,当你的系统有10W并发的时候,使用activveMQ能支持这么大的并发吗?我找了一些资料,发现都是直接将请求发送到MQ中,然后MQ慢慢消费,再通知前端处理结果。我的疑问是,这是意味着MQ能支撑这么大的并发量?直接将请求写到了MQ中,不会直接导致MQ崩溃吗?大家的并发处理方案是怎么样的?请求进来,直接程序将数据写到MQ中,然后多个消费者慢慢消费?为什么MQ可以支持这么大的并发呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(17)
MQ的处理和你的多少并发没什么关系,和你的数据输入吞叶量有关系。此前做过压测,SSD 300mb/s的速度,可以轻松打满。
10万并发?开玩笑了吧。
都异步了怎么通知前端结果?10w丢到mq没问题,内存够大就行
百度十分钟解决的事情
百度不到一个标准答案,不然我就不问了。
10w 并发的请求要先发送到你的 Web 服务器,然后 Web 服务器在发送到 MQ,想想服务器会产生 10w 并发到 MQ 吗?
假设N个web服务器的情况下,不就可以产生了吗?
挺形象啊。。
先搞清概念。10w个人上一个厕所叫高并发。10w人上10w个厕所那叫并行。MQ里面的坑多,远远超过10w,所以那还不算并发。
所以,MQ能支持这么大的写并发操作,是因为他的查询操作少,以及他特有的数据存储结构吗?大量的写,即使大量的写请求,瓶颈也只是在磁盘吗?
MQ 也只是把消息放到队列排队处理,这里不涉及业务,获取消息,然后存入队列 返回 ,但是从队列处理消息又是另一个流程,如果处理流程时间长,也会很久,但是不影响客户端往MQ 发消息
放不放队列 还是要看具体业务
这答案有用,之前一直用的 ActiveMQ ,没感觉到多强悍,用过一次kafka,知道很厉害,但还是没仔细研究过,通过你这关键字一查,就明白了。
回复
@sprouting : kafka单机能达到10W+每秒,比其他主流消息队列强很多,其他mq一盘在万级每秒。kafka作者宣称kafka的磁盘顺序IO接近内存速度。这些是高性能的关键信息:顺序IO、零拷贝、异步刷盘等。 异步就相当于把消息丢到内存中,批量持久化到磁盘,同步就要慢很多了
首先 提到高并发请拒绝提activemq这种落后的消息队列。其次,去了解下主流mq比如kafka和rocketmq的原理。评论区没人会给你上课的,自己去看书或文档,消息队列的写入全过程
双11支付宝峰值TPS50W,不是mq写入,kafka单机写入都能达到10W+每秒
然而,我的疑问是,请求进来后将数据放到MQ中,假设现在有这么大的并发,MQ 是怎么支撑这么大的并发的?同时这么多线程去写入进去,不会导致MQ崩溃吗?还是因为只是单纯的写,没有复杂的查询操作,从而可以支持这么大的写请求? 你这回复并没有任何帮助
10万并发你知道什么概念么 支付宝高峰期也没10万并发把