HornetQ异步消息系统介绍
2012-11-05 20:04
274 查看
一.介绍
HornetQ(官网:http://www.jboss.org/hornetq)是一个支持集群和多种协议,可嵌入、高性能的异步消息系统。HornetQ完全支持JMS,HornetQ不但支持JMS1.1 API同时也定义属于自己的消息API,这可以最大限度的提升HornetQ的性能和灵活性。hornetq一直在更新,将会支持更多的协议。现在2.2.14为最新的稳定版本。
项目中使用了HornetQ的一个原因,是其高性能,且完全支持JMS接口(如果有一天项目需要,使用其它的消息系统工具,只要按照对应的JMS接口再实现即可),定义了自己的消息API,相关接口使用更方便。(项目中按照ActiveMQ也实现了一套,可切换,不过维护起来比较麻烦。)
(另外此在InfoQ中一篇与MectiveMQ性能比较,较早的一篇报道:http://www.infoq.com/cn/news/2010/02/hornetq2-vs-activemq5.3)
二.部署
1.下载地址:(http://downloads.jboss.org/hornetq/hornetq-2.2.14.Final.zip)
2.对于配制文件与运行地址需要注意地方:
在对应的config目录下,有对应的配制文件,供参考,一般自己私有项目,新建一个目录new,然后把对应的配制文件拷贝到new目录进行配制即可。以对应的config\stand-alone\non-clustered 目录为例,使用非集群配制,主要修改的配制文件为hornetq-configuration.xml
对应的topic事件配制:
<address-settings>
<!--default for catch all-->
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>BLOCK</address-full-policy>
</address-setting>
</address-settings>
可以跟据需求,定义topic对应的name,然后修改match属性。
对应的消息队列配制:
<queues>
<queue name="xxx">
<address>xxx</address>
<durable>true</durable>
</queue>
</queues>
也即跟据需求定义对应的name,address.
定义完以后,修改对应的bin目录下的run.sh文件。值得注意是修改对应的目录结构,定义好对应的进程pid,log目录,指定对应的启动时jvm参数-Xmx,-Xms内存(指定如果超过系统最大内存,会启动不成功)
启动过,查看对应的log目录,可观察是否启动成功。
另外还可以配制集群,主从,正常来说hornetq单机性能已经非常优秀,一定应用定义主从即可。对于集群,可跟据实现情况使用。
Hornetq相关文档也是比较详细,具体使用时可参考(http://www.jboss.org/hornetq/docs)
HornetQ(官网:http://www.jboss.org/hornetq)是一个支持集群和多种协议,可嵌入、高性能的异步消息系统。HornetQ完全支持JMS,HornetQ不但支持JMS1.1 API同时也定义属于自己的消息API,这可以最大限度的提升HornetQ的性能和灵活性。hornetq一直在更新,将会支持更多的协议。现在2.2.14为最新的稳定版本。
项目中使用了HornetQ的一个原因,是其高性能,且完全支持JMS接口(如果有一天项目需要,使用其它的消息系统工具,只要按照对应的JMS接口再实现即可),定义了自己的消息API,相关接口使用更方便。(项目中按照ActiveMQ也实现了一套,可切换,不过维护起来比较麻烦。)
(另外此在InfoQ中一篇与MectiveMQ性能比较,较早的一篇报道:http://www.infoq.com/cn/news/2010/02/hornetq2-vs-activemq5.3)
二.部署
1.下载地址:(http://downloads.jboss.org/hornetq/hornetq-2.2.14.Final.zip)
2.对于配制文件与运行地址需要注意地方:
在对应的config目录下,有对应的配制文件,供参考,一般自己私有项目,新建一个目录new,然后把对应的配制文件拷贝到new目录进行配制即可。以对应的config\stand-alone\non-clustered 目录为例,使用非集群配制,主要修改的配制文件为hornetq-configuration.xml
对应的topic事件配制:
<address-settings>
<!--default for catch all-->
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>BLOCK</address-full-policy>
</address-setting>
</address-settings>
可以跟据需求,定义topic对应的name,然后修改match属性。
对应的消息队列配制:
<queues>
<queue name="xxx">
<address>xxx</address>
<durable>true</durable>
</queue>
</queues>
也即跟据需求定义对应的name,address.
定义完以后,修改对应的bin目录下的run.sh文件。值得注意是修改对应的目录结构,定义好对应的进程pid,log目录,指定对应的启动时jvm参数-Xmx,-Xms内存(指定如果超过系统最大内存,会启动不成功)
启动过,查看对应的log目录,可观察是否启动成功。
另外还可以配制集群,主从,正常来说hornetq单机性能已经非常优秀,一定应用定义主从即可。对于集群,可跟据实现情况使用。
Hornetq相关文档也是比较详细,具体使用时可参考(http://www.jboss.org/hornetq/docs)
相关文章推荐
- HornetQ 2.3.0.CR1 发布,异步消息系统
- 异步消息系统实践
- SpringFramework4系列之SpringJMS:(四)异步接收消息 1.基本介绍
- 分布式异步消息框架构建笔记2——yield机制及单线程多任务系统
- Android系统中异步消息处理线程机制的理解
- 异步消息总线hornetq学习-03客户端连接hornet进行jms消息的收发-非jndi方式连接
- 跟我学习dubbo-消息中间件在分布式系统中的作用介绍(8)
- 实时系统解决方案 TIBCO Rendezvous — 技术介绍(消息中间件|基于数据库的主动推送)
- 消息系统Kafka介绍
- 消息系统Kafka介绍
- C#屏蔽ComboBox系统右键菜单介绍(通过API拦截消息)
- 跟我学习dubbo-消息中间件在分布式系统中的作用介绍(8)
- 电商异步消息系统的实践
- 通用权限管理系统接口文档V4.2 版本之消息接口介绍
- 消息系统Kafka介绍
- 消息推送系统V1.0功能介绍
- Win8.2、Win9微软下一代系统消息汇总介绍
- 消息系统Kafka介绍
- 异步消息总线hornetq学习-02客户端连接hornet进行jms消息的收发-jndi方式连接
- 消息系统Kafka介绍