ActiveMQ 和 ActiveMQ-Artemis 之间有混淆吗?

ActiveMQ 和 ActiveMQ-Artemis 之间有混淆吗?

有人能澄清一下活动消息队列ActiveMQ-Artemis?据我了解维基百科,ActiveMQ-Artemis本质上是ActiveMQ的后继者,但如果是这样的话,我不明白为什么Artemis被列为ActiveMQ的子项目。

此外,如果我查看 ActiveMQ 和 ActiveMQ-Artemis 的版​​本,我会发现这两个版本完全不同。ActiveMQ 是 5.15,而 Artemis 是 2.2。

据我所知,Artemis 是一种速度更快、更新的实现,包括对 JMS 2.0 的支持。假设要新安装和部署 MQ 平台,是否应将 ActiveMQ 5.15 视为弃用并替代 Artemis?

答案1

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?

该实现并不是最新的(或者说稍微新一点),而是来自一个不同的开源项目(HornetQ),该项目已经实现了 JMS 2.0。

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

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

参考:

答案2

存在架构上的差异。

参考部分:与 ActiveMQ 5 的区别

https://activemq.apache.org/components/artemis/migration

相关内容