58

我是 Messaging 的新手,想知道 、 和 之间ActiveMQ的区别MuleServiceMixCamel

有谁知道这些产品的不同之处吗?

提前致谢 !

编辑:也想知道学习这些东西的好地方/资源。

4

6 回答 6

81

ActiveMQ 是一个消息代理,它实现了 JMS API 并支持许多跨语言客户端和网络协议。它允许您实现队列或主题并编写侦听器或订阅者以响应队列事件。

Mule 和 ServiceMix 是开源 ESB(企业服务总线)。ESB 具有 JMS 以外的功能:排队是关键,但转换、路由、日志记录、安全性等也是如此。

Apache Camel企业集成模式中模式的实现。它可以使用 JMS 和其他组件将书中的想法落实到位。

JMS 是其他技术的基础,例如 JDBC 是 Hibernate、iBatis 等的基础。

JMS 是 Java API 和规范和 TCK(Java EE 的一部分)。ActiveMQ 是它的一个特殊实现。

Camel 可以使用 ActiveMQ(并且 Camel 捆绑在 ActiveMQ 代理中,因此您可以轻松地在 JMS 之间路由到 Camel 支持的其他组件)。

Camel 不直接使用 Mule 或 ServiceMix;尽管 ServiceMix 使用 Camel 作为其首选的路由引擎和 EIP 实现。Camel 确实有大量不同的组件,尽管它们使用了各种不同的技术。

于 2010-04-24T15:47:19.373 回答
56

首先让我们定义

JMS是一个Java消息服务协议规范ESB是企业服务总线。_ _ JBIJ ava B业务集成

现在我们可以详细回答:

Apache ActiveMQ上述JMS ( Java M essaging Service ) 的实现。

Apache Camel是一个实现企业集成模式的消息路由引擎。
它提供了很多预定义的组件。它的一个关键组件
支持JMSJava消息服务)。

Apache ServiceMixJBI(Java业务集成)规范 兼容的上述ESB(企业服务总线)的实现。 它还提供了许多 Camel 中没有的基础设施功能(如服务 OSGI 捆绑包支持)。 SM 大量使用 Camel。


MuleESB(企业服务总线的另一种实现,但与 Camel/ServiceMix 家族无关

于 2010-04-25T13:03:44.553 回答
2

Apache Service Mix :: 它是一个 ESB(企业服务总线)、一个 JBI 容器和一个集成平台。

Apache Camel:实现 EIP(企业集成模式)的智能路由和中介引擎。

Apache ActiveMQ:它是一个实现 JMS 的消息代理。

于 2014-03-05T23:55:28.370 回答
2

Mule 是一种提供端到端集成解决方案的企业服务总线。

ActiveMQ 是消息代理,用于在订阅者和接收者之间对消息进行排队。

ServiceMix 也是 ESB 即企业服务总线

于 2016-05-26T17:43:06.250 回答
2

Camel 使您能够以各种特定领域的语言定义路由和中介规则。Mule 和 ServiceMix 是 ESB。ActiveMQ 是消息服务。

于 2016-11-21T21:32:29.963 回答
0

Apache Camel 是 EIP(企业集成模式)的实现

ServiceMix 是在 SOA 环境中符合 ESB 原则的产品。

Active MQ 与 JMS API 的任何其他实现一样好

Mule 也是一个 ESB

于 2016-05-24T16:07:39.117 回答