请用白话讲解ActiveMQ的用途
下载安装了,但却不知道用它能做什么。 展开
用途就是用来处理消息,也就是处理JMS的。消息队列在大型电子商务类网站,如京东、淘宝、去哪儿等网站有着深入的应用,队列的主要作用是消除高并发访问高峰,加快网站的响应速度。
在不使用消息队列的情况下,用户的请求数据直接写入数据库,高发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧,但使用队列后,用户的请求发给队列后立即返回。
例如:不能直接给用户提示订单提交成功,京东上提示:“您提交了订单,请等待系统确认”再由消息队列的消费者进程从消息队列中获取数据,异步写入数据库。
由于消息队列的服务处理速度远快于数据库,因此用户的响应延迟可得到有效改善。
扩展资料:
ActiveMQ主要有以下几种使用场景
1、异步调用。
2、一对多通信。
3、做多个系统的集成、同构、异构。
4、作为RPC的替代。
5、多个应用相互解耦。
6、作为事件驱动架构的幕后支撑。
7、为了提高系统的可伸缩性。
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
jms是发送消息的java中发送消息的中间件,包括5中数据流:
· StreamMessage -- Java原始值的数据流
· MapMessage--一套名称-值对
· TextMessage--一个字符串对象
· ObjectMessage--一个序列化的 Java对象
· BytesMessage--一个未解释字节的数据流
数据流就是传递数据的了,够白话了吧。
用途吧,一般人用不到,一般是大型企业内部或与别的企业之间传递消息数据的手段,比如公司boss发送消息(TextMessage),内容为"周末不放假,都来给我加班",每个员工可以通过ActiveMQ到端口61616接收消息,这是一种数据传输方式,不是么?因为用的少,所以很安全。