什么是消息队列?

本文介绍了消息队列MQ的基本概念,包括生产者、代理(Broker)和消费者的角色,以及其在异步处理、应用解耦和流量削峰中的应用。同时提到了常见消息队列中间件如ActiveMQ、RabbitMQ、Kafka和RocketMQ的选择依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

消息队列 Message Queue,简称 MQ。 是一种应用间的通信方式,主要由三个部分组成。

一、问题解答 

生产者:Producer
消息的产生者与调用端
主要负责消息所承载的业务信息的实例化
是一个队列的发起方
代理:Broker
主要的处理单元
负责消息的存储、投递、及各种队列附加功能的实现
是消息队列最核心的组成部分
消费者:Consumer
一个消息队列的终端
也是消息的调用端
具体是根据消息承载的信息,处理各种业务逻辑。
消息队列的应用场景较多,常用的可以分为三种:
异步处理
主要应用于对实时性要求不严格的场景,
比如:用户注册发送验证码、下单通知、发送优惠券等等。
服务方只需要把协商好的消息发送到消息队列,
剩下的由消费消息的服务去处理,
不用等待消费服务返回结果。
应用解耦
应用解耦可以看作是把相关但耦合度不高的系统联系起来。
比如订单系统与 WMS、EHR 系统,有关联但不哪么紧密
,每个系统之间只需要把约定的消息发送到 MQ,另外的系统去消费即可。
解决了各个系统可以采用不同的架构、语言来实现,从而大大增加了系统的灵活性。
流量削峰
流量削峰一般应用在大流量入口且短时间内业务需求处理不完的服务中心,
为了权衡高可用,把大量的并行任务发送到 MQ 中,
依据 MQ 的存储及分发功能,平稳的处理后续的业务,
起到一个大流量缓冲的作用。
目前市面上常见的消息队列中间件主要有
ActiveMQ、RabbitMQ、Kafka、RocketMQ 这几种,
在架构技术选型的时候一般根据业务的需求选择合适的中间件:
比如中小型公司,低吞吐量的一般用 ActiveMQ、RabbitMQ 较为合适,
大数据高吞吐量的大型公司一般选用 Kafka 和 RocketMQ。
以上就是我的 MQ 的理解。

二、问题总结

好的,看完高手的回答后,
相信每位看完视频的小伙伴对消息队列有了更深刻的理解 ,当然本期视频还有很多内
容未涉及到,比如中间件产品的介绍、消息队列的实现原理等等,如果你还想听请在下
方的评论区留言,我会逐步安排。
本期高手系列文章就到这里就结束了,喜欢的朋友点赞,加个关注,我是头
发很多的程序员 浮生,咱们下期见!

三、粉丝福利

最近很多同学问我有没有java学习资料,我根据我从小白到架构师多年的学习经验整理出来了一份 50W字面试解析文档、简历模板、学习路线图、java必看学习书籍 、 需要的小伙伴 可以关注我的
 
公众号:“ 灰灰聊架构 ”, 回复暗号:“ 321 ”即可获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值