ActiveMq是什么?

一.简介

Apache ActiveMQ 是一种开源分布式消息中间件,Apache出品,实现Jms规范
官网:http://activemq.apache.org/

二.什么是JMS?

定义了俩个应用程序或者分布式系统发送消息的API,与具体实现平台无关,即JAVA_MESSAGE_SERVICE,还定义了一系列相关术语。

JMS的俩种消息模型

1)点对点Point-to-point,

1.即一条消息对应一个生产者和一个消费者,每个消息只能有一个消费者,即每个消息只能被其中一个消费者消费

2.消费的生产者和消费者之间没有时间上的相关性,无论消费者在生产者发送消息时是否处于运行状态,它都可以提取信息

6e03b6a4e792fe084c44b9b2edafaac3715.jpg

(解释:中间的就是队列,client1就是生产者,它向队列中发送消息,client2是消费者,它负责从队列中提起消息,消息完成后,队列中的消息也就消失了)

2)发布订阅Publish/Subscribe

1.每个消息可以被多个消费者消费,前提是这些消息已经对topic(主题进行了订阅)

2.消费者和消息这之间有时间上的相关性,订阅了该主题的的消费者只能消费改主题发布的消息,如果此时该消费者没有设置消息持久化,且没有在线,而主题已经完成了消息发布,那么该消息这不会收到那主题发布的消息。

7b72b9beb91870b9da63fd50e394e79abf3.jpg

(解释:topic为主题,client 1为生产者,它负责向主题发布消息,client 2和client 3均为订阅了该主题的消费者,但client 1发送消息,且client 2和3都在线,那么将可以收到消息)

三.什么是消息队列?

消息队列,一般我们将其简称为MQ (Message Queue),消息队列可以可以简单理解为:把要传输的数据放到队列中。

关于消息队列一篇讲解的比较好的文章:

https://blog.csdn.net/Stream_who/article/details/88184879

原文:https://blog.csdn.net/yue_2018/article/details/89305275

什么是消息队列?


 

四.ActiveMQ 的几种使用场景

1.异步调用     2.一对多通信

3.做多个系统的集成,同构,异构等

于我自己理解来说:  用途就是用来处理消息,也就是处理JMS的,消息队列在大型点子商务网站,如京东,淘宝等网站有着深入的应用,队列的主要作用是消除高并发访问高峰,加快网站的响应速度。

举个小例子:  在购物时,不直接给用户提示订单提交成功,而是提示“您提交了订单,请等待系统确认”,再由消息队列的消费者·1进程从消息队列中获取数据,异步写入数据库。

五.一些比较好的原创文章

有小例子,通俗易懂      https://blog.csdn.net/sihai12345/article/details/99860157

发布了46 篇原创文章 · 获赞 42 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/tangthh123/article/details/102743251