activeMQ技术分享
来源:互联网 发布:卡通形象制作软件 编辑:程序博客网 时间:2024/05/18 01:17
本次引入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:设置多个并行的消费者 -->
<property name="concurrency"value="2-3" />
六、activeMQ的两种通讯方式:
publish-subscribe、p2p
- ActiveMQ技术分享
- activeMQ技术分享
- ActiveMQ分享,JMS简介
- ActiveMQ技术文档
- ActiveMQ简述--源自技术
- 技术分享
- 技术分享
- 技术分享
- 分享技术,分享快乐
- 学习技术,分享技术
- Sping+ActiveMQ整合--源自技术
- ActiveMQ技术笔记(一)
- 技术点-ActiveMQ-概念性总结
- 技术点-ActiveMQ-技术性总结
- ActiveMQ分享(一)JMS简介
- ActiveMQ分享(一)JMS简介
- ActiveMQ分享(一)JMS简介
- ActiveMQ分享(一)JMS简介
- 20170802工作记账流水(2017-08-02 10:00)
- 调整分类目录下的文章的顺序
- DQN实战
- hadoop 1.x中HDFS工作原理
- 欢迎使用CSDN-markdown编辑器
- activeMQ技术分享
- JDBC基础2 查询更新表函数形式
- 实验11
- MySQL函数
- Effective C++ rule12 复制对象时勿忘其每一个成分
- swif 中的 as? 和 as!
- 小咸鱼来记录一下自己的分页想法
- python学习三(列表、元组、字典)
- 解决Git Log在IDEA中乱码的问题