ActiveMq是什么?

目录

 

一.简介

二.什么是JMS?

三.JMS的俩种消息模型

1)点对点Point-to-point,

2)发布订阅Publish/Subscribe

四.什么是消息队列?

五.JMS的几个优势

异步

可靠

六.ActiveMQ 的几种使用场景

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


一.简介

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

二.什么是JMS?

定义了俩个应用程序或者分布式系统发送消息的API,与具体实现平台无关,即JAVA_MESSAGE_SERVICE,还定义了一系列相关术语。是一个允许应用创建、发送、接收和读取消息的Java API

三.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

什么是消息队列?

 

五.JMS的几个优势

异步

  JMS天生就是异步的,客户端获取消息的时候,不需要主动发送请求,消息会自动发送给可用的客户端。

可靠

  JMS保证消息只会递送一次。大家都遇到过重复创建消息问题,而JMS能帮你避免该问题。


 

六.ActiveMQ 的几种使用场景

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

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

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

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

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

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值