top
本文目录
1.1  MQ的产品种类和对比
MQ的定义
MQ的主要作用
MQ的特点
ActiveMQ官网
2021.7.31

ActiveMQ: MQ概述

关于MQ的介绍,这边文章更加详细:

1.1  MQ产品种类和对比

MQ就是消息中间件。MQ是一种理念,ActiveMQ是MQ的落地产品。不管是哪款消息中间件,都有如下一些技术维度:

四个消息中间件的对比(Kafka,RabbitMQ,RocketMQ,ActiveMQ)

MQ的定义

面向消息的中间件(message-oriented middleware)MOM能够很好的解决以上问题。是指利用高效可靠的消息传递机制与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型在分布式环境下提供应用解耦,弹性伸缩,冗余存储、流量削峰,异步通信,数据同步等功能。

大致的过程是这样的:发送者把消息发送给消息服务器,消息服务器将消息存放在若干队列/主题topic中,在合适的时候,消息服务器回将消息转发给接受者。在这个过程中,发送和接收是异步的,也就是发送无需等待,而且发送者和接受者的生命周期也没有必然的关系;尤其在发布pub/订阅sub模式下,也可以完成一对多的通信,即让一个消息有多个接受者。

MQ的主要作用

  • 异步。调用者无需等待。
  • 解耦。解决了系统之间耦合调用的问题。
  • 消峰。抵御洪峰流量,保护了主业务。

MQ的特点

  • 采用异步处理模式

消息发送者可以发送一个消息而无须等待响应。消息发送者将消息发送到一条虚拟的通道(主题或者队列)上;

消息接收者则订阅或者监听该爱通道。一条消息可能最终转发给一个或者多个消息接收者,这些消息接收者都无需对消息发送者做出同步回应。整个过程都是异步的。

案例:

也就是说,一个系统跟另一个系统之间进行通信的时候,假如系统A希望发送一个消息给系统B,让他去处理。但是系统A不关注系统B到底怎么处理或者有没有处理好,所以系统A把消息发送给MQ,然后就不管这条消息的“死活了”,接着系统B从MQ里面消费出来处理即可。至于怎么处理,是否处理完毕,什么时候处理,都是系统B的事儿,与系统A无关。

  • 应用系统之间解耦合

发送者和接受者不必了解对方,只需要确认消息。

发送者和接受者不必同时在线。

  • MQ的缺点

两个系统之间不能同步调用,不能实时回复,不能响应某个调用的回复。

ActiveMQ官网

https://activemq.apache.org/

 

阅读剩余
THE END
icon
0
icon
打赏
icon
分享
icon
二维码
icon
海报
发表评论
评论列表

赶快来坐沙发