百度百科解释
MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。
常见的MQ产品
IBM WebSphere MQ 、RabbitMQ 、RocketMQ 、 kafka 、ZeroMQ 、Redis 等
MQ的作用
- 异步通信
- 解耦
- 过载保护
- 保证通信顺序
- 缓冲
MQ主要组成
- Broker:消息服务器,作为server提供消息核心服务
- Producer:消息生产者,业务的发起方,负责生产消息传输给broker,
- Consumer:消息消费者,业务的处理方,负责从broker获取消息并进行业务逻辑处理
- Topic:主题,发布订阅模式下的消息统一汇集地,不同生产者向topic发送消息,由MQ服务器分发到不同的订阅 者,实现消息的广播
- Queue:队列,PTP模式下,特定生产者向特定queue发送消息,消费者订阅特定的queue完成指定消息的接收
- Message:消息体,根据不同通信协议定义的固定格式进行编码的数据包,来封装业务数据,实现消息的传输