首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

请用白话讲解ActiveMQ的用途

发布网友 发布时间:2022-03-27 06:07

我来回答

3个回答

热心网友 时间:2022-03-27 07:37

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

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

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

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

扩展资料:

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

1、异步调用。

2、一对多通信。

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

4、作为RPC的替代。

5、多个应用相互解耦。

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

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

热心网友 时间:2022-03-27 08:55

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

热心网友 时间:2022-03-27 10:29

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

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

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com