ActiveMQ VS JBoss Messaging

柳均
2023-12-01

        使用ActiveMQ做项目一年多了,有很多感触。ActiveMQ从5.1到5.3,稳定了很多。尽管有时还会发生些诡异的地方,但对于开源软件已经足够了。主要的感觉就是ActiveMQ的最大优势在于性能。

 

        最近开始研究JBoss的消息队列JBoss Messaging。JBoss原来有一个叫JBossMQ的项目,由于架构不适合继续升级。重新写一个新的项目叫JBoss Messaging。JBoss Messaging1.0在性能上还是与ActiveMQ相差比较大,当初项目选型时就是因为JBossMQ的性能不如ActiveMQ而放弃的,毕竟消息队列最重要的指标就是性能。现在JBoss Messaging2.0已经进入bate4的版本,最新的报告(JBoss的)性能已经全面追上并超过ActiveMQ,所以是时候研究一下了。。。

 

        以下最要比较一下ActiveMQ5.3与JBoss Messaging2.0的优缺点,从十个方面对俩个MQ进行分析。对两个项目都不能十分精通,所以难免会有不对的地方,请多见谅。

 

        评比级别从上到下为:好,较好,一般,较差,差

 

性能 :对于MQ的最重要要求,否则不如直接数据库了。ActiveMQ性能还是不用说的,非常好。Messaging的性能,还没有经过大量测试,不过已经有很大的提高,姑且给个较好。

 

集群 :由于消息队列一般会成为重要的业务的中间件,所有集群是必不可少的。ActiveMQ给出了三种集群方式,但都不好用。Messaging在这方面考虑的更多,支持也就更好。

 

稳定性 :这个不用说,非常重要。ActiveMQ一般几个月会出一次问题(不重启),在5.3版以后已经很稳定了。Messaging2还是bate版,现在还不能使用,及时正式发布了,到稳定也要2-3年。所以姑且给个一般

 

安全性 :一般来说MQ不会开放到公网,也就不是非常重要。俩个都支持多种安全方式,都给较好。

 

易用性 两者在使用上,都差不多。但在管理上ActiveMQ有一个强大的管理界面,而Messaging2没有,只能使用JMX。

 

优先级 这个问题是我使用ActiveMQ最头疼的问题,ActiveMQ为了性能直接省略了这个功能。而Messaging2是支持的。

 

JNDI支持 这个涉及到与其它模块之间调用的问题,以及与其它容器融合的问题。ActiveMQ支持简单的JNDI,Messaging2可以集成JBoss AS里,所以Messaging2这局胜出。

 

其它语言支持 这个问题实际上如果公司里有使用不同语言的组,就很重要。ActiveMQ支持很多种语言,而Messaging2目前不支持,需要使用其它中间件来解决这个问题。


文档和例子 AciveMQ也像其它apache一样,文档例子都比较少。这点JBoss在被Red Hat收购后,有了很大改善。文档例子都很全。

 

支持: AciveMQ的支持也是比较少,主要还是论坛和wiki。而Messaging2在必要的时候可以使用付费模式,来解决问题。

 

以下是整理后评价:

 ActiveMQ5.3JBoss Messaging2.0
性能较好
集群较差较好
稳定性较好一般
安全性较好较好
易用性一般
优先级
JNDI支持较差较好
其它语言支持较差
文档和例子一般较好
支持
一般较好

 

        尽管Messaging2在多项上占优势,但目前Messaging2还只是bate版,与ActiveMQ 5.3代码质量还有很大的差距。Messaging2可以说已经进入MQ的考虑范围,在未来开始使用的企业级中间件产品。但目前ActiveMQ还是开源MQ的主力。

 

 

 类似资料:

相关阅读

相关文章

相关问答