Java消息传递:ActiveMQ,Mule,ServiceMix和Camel之间的区别
我是Messaging的新手,想知道ActiveMQ
, Mule
, ServiceMix
和Camel
之间的区别
任何人都知道这些产品是如何不同的?
提前致谢 !
编辑:也想知道任何好的地方/资源来学习这些东西。
ActiveMQ是一个消息代理,它实现了JMS API并支持一些跨语言客户和networking协议 。 它允许您实现队列或主题,并编写侦听器或订阅者来响应队列事件。
Mule和ServiceMix是开源的ESB(企业服务总线)。 ESB具有超越JMS的function:排队是关键,但转换,路由,日志logging,安全性等也是关键。
Apache Camel是企业集成模式中模式的实现 。 它可以使用JMS和其他组件将这本书的想法放到位。
JMS是其他技术的基础,比如JDBC是Hibernate,iBatis等的基础。
JMS是一个Java API和一个规范和TCK(Java EE的一部分)。 ActiveMQ是它的一个特殊的实现。
Camel可以使用ActiveMQ(并且Camel捆绑在ActiveMQ代理中,因此您可以轻松地将JMS路由到Camel支持的其他组件)。
骆驼不直接使用Mule或ServiceMix; 尽pipeServiceMix使用Camel作为其首选路由引擎和EIP实现。 虽然使用了各种不同的技术,骆驼确实有很多不同的组件 。
JMS是一个Java消息传递协议规范。
ActiveMQ是以上的一个实现。
骆驼是一个实现企业集成模式的消息路由引擎。 它提供了很多预定义的组件。 它的关键组件之一支持JMS。
ServiceMix是与JBI(Java业务集成)规范兼容的ESB实现。 它还提供许多在骆驼中不可用的基础特性(如服务OSGI捆绑支持)。 SM大量使用骆驼。
Mule是ESB的另一个实现,但与Camel / ServiceMix家族无关。
Apache Service Mix ::它是一个ESB(企业服务总线),一个JBI容器和一个集成平台。
Apache Camel:实现EIP(企业集成模式)的智能路由和中介引擎。
Apache ActiveMQ:它是一个实现JMS的Message Broker。
Apache Camel是EIP(企业集成模式)的实现,
ServiceMix是符合SOA环境中ESB原则的产品。
活动MQ与JMS API的其他实现一样好
mule也是一个ESB
Mule是提供端到端集成解决scheme的企业服务总线。
ActiveMQ是在订户和接收者之间排队消息的消息代理。
ServiceMix也是一个ESB,即企业服务总线
骆驼授权您定义各种领域特定语言的路由和中介规则。 mule子和SeriviceMix是ESB。 ActiveMQ是消息服务。