rabbitmq如何与mule进行比较,我将使用面向消息的架构构建应用程序,并且amqp(rabbitmq)提供了我想要的一切,但我困惑了这么多相关技术选择和类似概念。如果我在不考虑其他替代方案的情况下做出选择,我有疑问。

我最清楚的是,rabbitmq是一个消息经纪人,它可以帮助我在制作人和消费者之间调解消息(所有表格或发布订阅,我可以了解它是如何从Twitter等真实示例中使用的,或者Facebook更新等)< / p>

是什么是mule,如果我可以通过mule达到rabbitmq在rabbitmq中做了什么,我应该认为mule与rabbitmq相似吗?

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

mule会假设底层它有一个消息代理将消息传递给适当的骡子侦听器(我可以在rabbitmq中轻松编写侦听器)

是骡子一个完整的Java基础系统(我用rabbitmq的当前实验带我不到30分钟,用客户端写一个简单的RPC客户端服务器作为C#和Server作为Java,将在Mule轻松完成这些事情)。

有帮助吗?

解决方案

mule是ESB(企业服务总线)。rabbitmq是一个消息代理。

ESB 在消息代理上提供添加的图层,例如路由,转换和业务流程管理。它是应用程序之间的中介,集成Web服务,REST端点,数据库连接,电子邮件和FTP服务器 - 您将其命名为。它是一种高级集成骨干,其在讲话中策划了说话不同协议的应用程序中的互操作性。

a 消息代理是一个较低级别的组件,它使您可以成为开发人员,以便在发布者和订阅者之间中继原始消息,通常在同一系统的组件之间但并非总是。它用于使异步处理能够保持响应时间低。一些任务需要更长时间才能处理,如果它们不对时间敏感,您不希望它们握住东西。相反,将消息发布到队列(作为发布者),并有一个订阅者将其提升并处理它“稍后”。

其他提示

mule是用消息代理实现的“更高级别”服务。来自文档

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

您可以用兔子建立ESB;但是,您将仅限于发送Byte []包,您必须将系统建立在语言和队列等消息传递原语中。它可能有点速度(基于绝对没有基准,测试或数据),因为较少的翻译层数较少。Mule在此之上提供了抽象,讲述各种传输,并可以处理一些路由逻辑。

mule是一个企业服务总线,提供端到端集成解决方案,其中兔子是消息代理,用于在订户和接收器之间排队消息。

RabbitMQ,一个开源消息代理软件是用Erlang编程语言编写的,建立在开放电信平台上,用于群集和故障转移。它易于使用,支持大量的开发人员平台并在所有主要操作系统上运行。它适用于一个名为Exchange的概念。 Mule将RabbitMQ与AMQP连接器连接。

rabbit来自客户端 - 服务器时代,mule属于API网络时代。除非您被迫在遗留平台的范围内实施,否则最好使用Mule并休息API。无论如何,在几年内,您为兔子写的代码必须被修改为支持当前和未来的API LED架构。那么为什么现在不这样做?我的几美分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top