打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ActiveMQ技术分享

本次引入ActiveMQ的背景:

ActiveMQ主要解决什么问题:

       在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。比如记录用户的操作日志。这部分就能提出来。操作日志,这种东西,用户也不会马上去看他,为何不用更好的技术,ActiveMQ呢,这样做还节省了服务器请求响应时间。

一、什么是activemq:

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线;速度快,支持多种语言和协议。

ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。

JMS:Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

二、ActiveMQ的特点和优势:

       优点:

             (1)activemq可以很好的运行在任何JVM上,而不只是集成到tomcat(jboss等都行)的应用服务器中;比如jbossmq就只支持jboss。

             (2)activemq支持大量的跨语言客户端(Java,C,C++,C#,Ruby,Perl,Python,PHP

             (3)activemq支持许多不同的协议(Ajax/REST/Stomp/OpenWire/XMPP)

             (4)activemq支持许多高级功能,例如MessageGroups,ExclusiveConsumer,CompositeDestinations(同一个消息一次发送到多个消息队列)。

             (5)AdvisoryMessage:实现了ActiveMQ的broker上各种操作的记录跟踪和通知。

             (6)activemq支持可靠连接并且具有可配置的自动重连接

             (7)activemq对spring有很好的支持.(文档也比较全面)

             (8)activemq是速度非常快;一般要比jbossmq快10倍

  缺点:

             (1)传输文件不方便,而且效率相对来说不是很高,使用起来也不方便,封装代价高。当然这个缺点对于一个消息总线来说此功能不算最主要的,还在忍受范围内。

             (2)丢消息、但曝光率高、文档全。

三、ActiveMQ支持的数据格式:

JMS规范中的消息类型包括TextMessage、MapMessage、ObjectMessage、BytesMessage、和StreamMessage等五种。

四、ActiveMQ的应用场景

http://blog.csdn.net/dly1580854879/article/details/68486367

五、ActiveMQ在开发中的使用以及遇到问题的解决:

      1.先来一个demo,感受一下消息的发送与接收的过程:http://blog.csdn.net/dly1580854879/article/details/68488003

问题:

     1.   消息发送失败了怎么办?

           ------重发机制http://blog.csdn.net/dly1580854879/article/details/68489798

     2.   消息消费失败了怎么办?

           ------二次消费,就是捕捉异常,把消息获取过来,重新入队,再消费。

     3.   我怎么样知道消息已经发送成功了?

           ------消息确认http://blog.csdn.net/dly1580854879/article/details/68490197

     4.   同一消息消费多次失败了,怎么办?

           ----进入死信队列、或者重新消费http://blog.csdn.net/dly1580854879/article/details/68946717

     5.   我现在有两个业务的消息,发送到同一个queue,怎么识别出来他们是不同的消息?

          ------给消息做标记

     6.  消息多次消费任然失败,死信队列里面没有东西,什么原因造成的?怎么解决?

           ------没有设置事务、事务回滚操作,这才使得消息消费失败后,直接丢弃。

                设置事务就能解决此问题。

     7.  怎么样设置事务?

           ----设置事务http://blog.csdn.net/dly1580854879/article/details/68945997

     8.  多个消费者怎么设置?---设置多个消费者

     <!--ActiveMQ:设置多个并行的消费者 -->

     <propertyname="concurrency"value="2-3"/>

六、activeMQ的两种通讯方式:

         publish-subscribe、p2p


 

 

 


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
新手也能看懂,消息队列其实很简单
JMS介绍:我对JMS的理解和认识
Java消息服务-JMS 确认和事务【面试+工作】
ActiveMQ入门篇
折腾ActiveMQ时遇到的问题和解决方法
ActiveMQ分享(一)JMS简介
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服