现在的位置: 首页 > 综合 > 正文

HornetQ异步消息系统介绍

2017年12月16日 ⁄ 综合 ⁄ 共 1575字 ⁄ 字号 评论关闭

一.介绍

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)

抱歉!评论已关闭.