RabbitMQ 与 Mule 相比如何

发布于 2024-09-10 07:29:36 字数 536 浏览 10 评论 0原文

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

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

什么是 Mule,如果我可以使用 mule 实现在 RabbitMQ 中所做的事情,我是否应该考虑使用类似于 RabbitMQ 的 mule?

Mule 的目标与消息代理的目标不同吗?

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

mule 是否是一个完整的 Java 基础系统(我目前使用 RabbitMQ 进行的实验花了我不到 30 分钟的时间)写一个简单的RPC客户端服务器,客户端用C#,服务器用Java,这样的事情在Mule中会很容易完成吗)。

How does RabbitMQ compare to Mule, I am going to build an application using message oriented architecture and AMQP (RabbitMQ) provides everything i want, but i am perplexed with so many related technology choice and similar concepts like ESB. I am having a doubt if i am making a choice without considering other alternatives.

I am mostly clear that RabbitMQ is a message broker and it helps me in mediating message between producer and consumer (all forms or publish subscribe and i could understand how its used from real examples like twitter , or Facebook updates, etc)

What is Mule, if i could achieve what i do in RabbitMQ using mule, should i consider mule similar to RabbitMQ?

Does mule has a different objective than that of a message broker?

Does mule assumes that underlying it there is a message broker that delivers message to the appropriate mule listeners (i could easily write a listener in RabbitMQ)

Is mule a complete Java bases system ( The current experiment i did with RabbitMQ took me less than 30 Min to write a simple RPC Client Server with client as C# and Server as Java , will such things be done in Mule easily).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

风为裳 2024-09-17 07:29:36

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

ESB 在消息代理之上提供附加层,例如路由、转换和业务流程管理。它是应用程序之间的中介,集成了 Web 服务、REST 端点、数据库连接、电子邮件和 ftp 服务器 - 只要你能想到的。它是一个高级集成主干,可协调使用不同协议的应用程序网络内的互操作性。

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

Mule is an ESB (Enterprise Service Bus). RabbitMQ is a message broker.

An ESB provides added layers atop of a message broker such as routing, transformations and business process management. It is a mediator between applications, integrating Web Services, REST endpoints, database connections, email and ftp servers - you name it. It is a high-level integration backbone which orchestrates interoperability within a network of applications that speak different protocols.

A message broker is a lower level component which enables you as a developer to relay raw messages between publishers and subscribers, typically between components of the same system but not always. It is used to enable asynchronous processing to keep response times low. Some tasks take longer to process and you don't want them to hold things up if they're not time-sensitive. Instead, post a message to a queue (as a publisher) and have a subscriber pick it up and process it "later".

束缚m 2024-09-17 07:29:36

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

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

用rabbit构建一个ESB;但是,您将仅限于发送 byte[] 包,并且您必须使用主题和队列等消息传递原语来构建系统。它可能会更快一点(基于绝对没有基准测试、测试或数据),因为翻译层数较少。 Mule 在此之上提供了一个抽象,支持多种传输,并且可以处理一些路由逻辑。

Mule is a "higher level" service implemented with message broker. From the docs

The messaging backbone of the ESB is
usually implemented using JMS, but any
other message server implementation
could be used

You can build an ESB with rabbit; however, you're going to be limited to sending byte[] packages, and you'll have to build your system out of messaging primitives like topics and queues. It might be a bit faster (based on absolutely no benchmarking, testing or data) because there are fewer layers of translation. Mule provides an abstraction on top of this, speaks a variety of transports, and can handle some routing logic.

冰雪梦之恋 2024-09-17 07:29:36

Mule 是一种企业服务总线,提供端到端集成解决方案,而 Rabbit 是用于在订阅者和接收者之间排队消息的消息代理。

Mule is a Enterprise service bus providing end to end integration solution where as Rabbit is message broker for queueing messages between subscriber and receiver.

日久见人心 2024-09-17 07:29:36

RabbitMQ 是一款开源消息代理软件,采用 Erlang 编程语言编写,构建在开放电信平台上,用于集群和故障转移。它易于使用,支持大量开发者平台并在所有主要操作系统上运行。它的工作原理是“交换”。
Mule 将 RabbitMQ 与 AMQP 连接器连接起来。

RabbitMQ, a open source message broker software is written in Erlang programming language and is built on Open Telecom Platform for clustering and failover. It is easy to use, supports a huge number of developer platforms and runs on all major operating systems. It works on a concept called Exchange.
Mule connects RabbitMQ with AMQP connector.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文