【发布时间】:2011-02-11 21:35:27
【问题描述】:
我是 Messaging 的新手,想知道ActiveMQ、Mule、ServiceMix 和 Camel 之间的区别
有人知道这些产品的不同之处吗?
提前致谢!
编辑:也想知道学习这些东西的好地方/资源。
【问题讨论】:
标签: java apache-camel activemq messaging apache-servicemix
我是 Messaging 的新手,想知道ActiveMQ、Mule、ServiceMix 和 Camel 之间的区别
有人知道这些产品的不同之处吗?
提前致谢!
编辑:也想知道学习这些东西的好地方/资源。
【问题讨论】:
标签: java apache-camel activemq messaging apache-servicemix
ActiveMQ 是一个消息代理,它实现了 JMS API 并支持number of cross language clients and network protocols。它允许您实现队列或主题并编写侦听器或订阅者以响应队列事件。
Mule 和 ServiceMix 是开源 ESB(企业服务总线)。 ESB 具有 JMS 之外的功能:排队是关键,但转换、路由、日志记录、安全性等也是如此。
Apache Camel 是Enterprise Integration Patterns 中模式的实现。它可以使用 JMS 和其他 components 将书中的想法落实到位。
JMS 是其他技术的基础,例如 JDBC 是 Hibernate、iBatis 等的基础。
JMS 是 Java API 和规范和 TCK(Java EE 的一部分)。 ActiveMQ 是它的一个特殊实现。
Camel 可以使用 ActiveMQ(Camel 捆绑在 ActiveMQ 代理中,因此您可以轻松地在 JMS 之间路由到 Camel 支持的其他组件)。
Camel 不直接使用 Mule 或 ServiceMix;尽管 ServiceMix 使用 Camel 作为其首选的路由引擎和 EIP 实现。 Camel 确实有一个ton of different components,尽管它使用了各种不同的技术。
【讨论】:
首先我们来定义
JMS 是 Java Messaging S服务协议规范。
ESB 是 E 企业 S 服务 Bus。
JBI 是 Java B业务I集成。
现在我们可以详细回答了:
Apache ActiveMQ是上述JMS(Java Messaging S服务)。
Apache Camel 是一个实现企业集成模式的消息路由引擎。
它提供了很多预定义的组件。
其关键组件之一支持 JMS(Java Messaging S服务)。
Apache ServiceMix 是上述ESB(E企业S服务B我们)
与 JBI (Java Business Iintegration) 规范兼容。
它还提供了许多 Camel 中没有的基础设施功能(如服务 OSGI 捆绑包支持)。
SM 大量使用 Camel。
Mule 是 ESB 的另一种实现(E企业S服务B us),但与 Camel/ServiceMix 家族无关。
【讨论】:
Apache Service Mix :: 它是一个 ESB(企业服务总线)、一个 JBI 容器和一个集成平台。
Apache Camel:实现 EIP(企业集成模式)的智能路由和中介引擎。
Apache ActiveMQ:它是一个实现 JMS 的消息代理。
【讨论】:
Mule 是一种提供端到端集成解决方案的企业服务总线。
ActiveMQ 是消息代理,用于在订阅者和接收者之间对消息进行排队。
ServiceMix 也是 ESB,即企业服务总线
【讨论】:
Camel 使您能够以各种特定领域的语言定义路由和中介规则。 Mule 和 ServiceMix 是 ESB。 ActiveMQ 是消息服务。
【讨论】:
Apache Camel 是 EIP(企业集成模式)的实现
ServiceMix 是符合 SOA 环境中 ESB 原则的产品。
Active MQ 与 JMS API 的任何其他实现一样好
Mule 也是 ESB
【讨论】: