ActiveMQ和ActiveMQ-Artemis之间的混淆?


16

有人可以澄清ActiveMQActiveMQ-Artemis之间的区别吗?根据我在Wikipedia上的了解,ActiveMQ-Artemis本质上是ActiveMQ的后继者,但如果是这样,我不明白为什么Artemis被列为ActiveMQ的子项目。

此外,如果我查看ActiveMQ和ActiveMQ-Artemis的版本,我会看到版本完全不同。ActiveMQ为5.15,Artemis为2.2。

据我了解,Artemis是一种更快,更新的实现,包括对JMS 2.0的支持。给定MQ平台的新安装和部署,是否应将ActiveMQ 5.15视为已弃用Artemis?


不幸的是,他们决定像这样使水变得浑浊。HornetQ已经存在了一段时间,但它没有ActiveMQ拥有的市场份额。ActiveMQ已被加固了很多年,因为它已被用于大型项目和小型项目,并且进行了大量的优化和错误修复。现在,红帽将HornetQ推入Artemis并将其推向其AMQ 7产品,HornetQ将经历相同的严格度和错误修复。您可以在此处跟踪进度和状态。issues.apache.org/jira/projects/ARTEMIS/issues/…–
Ranx

Answers:


20

Apache收到了HornetQ的代码,他们决定将名称更改为Artemis,然后将其更改为将来的ActiveMQ。

但是通过查看董事会的最新消息,似乎这两个项目仍然截然不同,并且ActiveMQ 5.15.x仍在使用旧的ActiveMQ核心源代码。

显然,他们需要添加一些最初的HornetQ代码中没有的ActiveMQ功能,例如完整的AMQP支持。

此较早的帖子中,您可以看到一些可以解决您的问题之一的问题/答案:

问:ActiveMQ PMC需要为以下方面提供计划:

答:Apache ActiveMQ有多个产品和多个版本:

a.  ActiveMQ - (version 5.x.x)
b.  ActiveMQ Artemis - (version 1.x.x)

这意味着我们尚未准备好声明ActiveMQ Artemis是ActiveMQ 5.x的后继者。我们将等到产品成熟后再做出决定。

这个原始的帖子就在捐赠之后。

据我了解,Artemis是一种更快,更新的实现,包括对JMS 2.0的支持。给定MQ平台的新安装和部署,是否应将ActiveMQ 5.15视为已弃用Artemis?

该实现不是最近(或稍微),而是来自已经实施JMS 2.0的另一个开源项目(HornetQ)。

就我而言,如果我必须为一个新项目选择一个MOM,我肯定会尝试Artemis,尤其是测试多实例(主-主)和替代AMQ世界中旧的经纪人网络的新功能。我必须承认; 我没有尝试过,然后,如果您知道如何正确配置稳定的ActiveMQ,我想您也必须考虑到这一点。另一方面,我想说HornetQ确实很稳定并且易于嵌入到任何Java应用程序中(我们很容易将它嵌入到部署在Tomcat上的战争中)。

就个人而言,如果我必须升级当前的ActiveMQ实现,最快的方法是坚持使用最新的ActiveMQ 5.15.x版本,因为切换到Artemis可能会引起更多问题。

参考文献:


1
这提供了使我明白的指针。ActiveMQ董事会在2018年1月的会议报告中包含这样的评论:“致力于实现ActiveMQ 5.x和Artemis之间功能均等的总体目标是让Artemis最终成为ActiveMQ6.x。” 而且它们包括实现平衡的路线图的链接。因此,Artemis源自HornetQ,是ActiveMQ 5.X的独立产品,但他们希望它将成为ActiveMQ 6.X的实现。
乔治·霍金斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.