请用白话讲解ActiveMQ的用途

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请用白话讲解ActiveMQ的用途相关的知识,希望对你有一定的参考价值。

ASF的ActiveMQ究竟能用在哪方面,举个浅显的应用例子。
下载安装了,但却不知道用它能做什么。

用途就是用来处理消息,也就是处理JMS的。消息队列在大型电子商务类网站,如京东、淘宝、去哪儿等网站有着深入的应用,队列的主要作用是消除高并发访问高峰,加快网站的响应速度。

在不使用消息队列的情况下,用户的请求数据直接写入数据库,高发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧,但使用队列后,用户的请求发给队列后立即返回。

例如:不能直接给用户提示订单提交成功,京东上提示:“您提交了订单,请等待系统确认”再由消息队列的消费者进程从消息队列中获取数据,异步写入数据库。

由于消息队列的服务处理速度远快于数据库,因此用户的响应延迟可得到有效改善。

扩展资料:

ActiveMQ主要有以下几种使用场景

1、异步调用。

2、一对多通信。

3、做多个系统的集成、同构、异构。

4、作为RPC的替代。

5、多个应用相互解耦。

6、作为事件驱动架构的幕后支撑。

7、为了提高系统的可伸缩性。

参考技术A

ActiveMQ是Apache出品的,目前最流行的,能力很强劲的开源消息总线。

一、MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。

1、支持多种语言编写客户端 

2、对spring的支持,很容易和spring整合 

3、支持多种传输协议:TCP,SSL,NIO,UDP等 

4、支持AJAX 

二、apache的ActiveMQ,就是message queue,指的是消息队列的意思。主要的功能是处理消息,处理JMS的作用。jms是发送消息的java中发送消息的中间件,其中包括有以下5种数据流:

1、StreamMessage是指Java原始值的数据流。

2、MapMessage是指一套名称-值对。

3、TextMessage是指一个字符串对象。

4、ObjectMessage是指一个序列化的 Java对象。

5、BytesMessage是指一个未解释字节的数据流。

扩展资料

ActiveMQ的特性:

⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,php。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP

⒉ 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)

⒊ 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性

⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上

⒌ 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA

⒍ 支持通过JDBC和journal提供高速的消息持久化

⒎ 从设计上保证了高性能的集群,客户端-服务器,点对点

⒏ 支持Ajax

⒐ 支持与Axis的整合

⒑ 可以很容易的调用内嵌JMS provider,进行测试

参考资料来源:百度百科-ActiveMQ

参考技术B 你说apache的ActiveMQ啊,名字都说的很明白了MQ,也就是message queue,也就是消息队列,也就是处理消息的,也就是处理JMS的。

jms是发送消息的java中发送消息的中间件,包括5中数据流:
· StreamMessage -- Java原始值的数据流
· MapMessage--一套名称-值对
· TextMessage--一个字符串对象
· ObjectMessage--一个序列化的 Java对象
· BytesMessage--一个未解释字节的数据流
数据流就是传递数据的了,够白话了吧。

用途吧,一般人用不到,一般是大型企业内部或与别的企业之间传递消息数据的手段,比如公司boss发送消息(TextMessage),内容为"周末不放假,都来给我加班",每个员工可以通过ActiveMQ到端口61616接收消息,这是一种数据传输方式,不是么?因为用的少,所以很安全。本回答被提问者采纳

以上是关于请用白话讲解ActiveMQ的用途的主要内容,如果未能解决你的问题,请参考以下文章

Java ActiveMQ 讲解理解JMS 和 ActiveMQ基本使用(转)

activeMQ 讲解及实战

深入讲解ActiveMQ5.X消息的持久性

2. ActiveMQ部署

Activemq判断队列存活脚本

为什么使用ActiveMQ集群