php activemq重连,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等五种。

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

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

问题:

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

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

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

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

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

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

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

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

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

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

7.怎么样设置事务?

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

name="concurrency"value="2-3"

/>

六、activeMQ的两种通讯方式:

publish-subscribe、p2p

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值