RabbitMQ与Mule相比如何?

Man*_*ani 42 esb jms eai mule rabbitmq

RabbitMQ如何与Mule相比,我将使用面向消息的架构构建一个应用程序,而AMQP(RabbitMQ)提供了我想要的一切,但我对如此多的相关技术选择和ESB等类似概念感到困惑.如果我在不考虑其他选择的情况下做出选择,我有一个疑问.

我很清楚RabbitMQ是一个消息代理,它帮助我调解生产者和消费者之间的消息(所有形式或发布订阅,我可以理解它如何从真实的例子中使用,如twitter,或Facebook更新等)

什么是骡子,如果我能用骡子实现我在RabbitMQ中做的事情,我应该考虑类似于RabbitMQ的骡子吗?

mule的目标是否与消息代理的目标不同?

mule是否假设底层有一个消息代理将消息传递给适当的mule监听器(我可以在RabbitMQ中轻松编写监听器)

mule是一个完整的Java基础系统(我用RabbitMQ做的当前实验花了我不到30分钟编写一个简单的RPC客户端服务器,客户端作为C#和服务器作为Java,这样的事情很容易在Mule中完成).

小智 69

Mule是一个ESB(企业服务总线).RabbitMQ是一个消息代理.

一个ESB提供附加层顶上的消息代理的诸如路由,转换和业务流程管理.它是应用程序之间的中介,集成了Web服务,REST端点,数据库连接,电子邮件和ftp服务器 - 您可以为其命名.它是一个高级集成主干,可以协调不同协议的应用程序网络中的互操作性.

消息代理是一个较低的水平分量使您作为显影剂中继发布者和订阅者之间的原始消息,通常是相同的系统的组件但不总是之间.它用于启用异步处理以保持较低的响应时间.有些任务需要花费更长的时间来处理,如果它们不是时间敏感的,你不希望它们保留.相反,将消息发布到队列(作为发布者)并让订阅者将其拾取并"稍后"处理它.


Ste*_* B. 6

Mule是使用消息代理实现的"更高级别"服务.来自文档

ESB的消息传递主干通常使用JMS实现,但可以使用任何其他消息服务器实现

你可以用兔子建立一个ESB; 但是,您将被限制为发送byte []包,并且您必须使用主题和队列等消息传递原语构建系统.它可能会更快(基于绝对没有基准测试,测试或数据),因为翻译层次更少.Mule提供了一个抽象,讲述了各种传输,并且可以处理一些路由逻辑.