您的位置:首页 > 其它

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: