Как RabbitMQ сравнивается с Mule - PullRequest
42 голосов
/ 19 июля 2010

Как RabbitMQ сравнивается с Mule, я собираюсь создать приложение, используя ориентированную на сообщения архитектуру, а AMQP (RabbitMQ) предоставляет все, что я хочу, но я озадачен таким большим выбором технологий и подобными концепциями, как ESB.У меня есть сомнения, если я делаю выбор, не рассматривая другие альтернативы.

Мне в основном ясно, что RabbitMQ является брокером сообщений, и это помогает мне в посредничестве сообщения между производителем и потребителем (все формы или публикации подписываются ия мог бы понять, как он используется на реальных примерах, таких как твиттер, обновления в Facebook и т. д.)

Что такое Мул, если бы я мог добиться того, что я делаю в RabbitMQ, используя мул, должен ли я считать мул похожим на RabbitMQ?

Имеет ли mule цель, отличную от цели брокера сообщений?

Предполагает ли mule, что под ним стоит брокер сообщений, который доставляет сообщение соответствующим слушателям mule (я мог бы легко написать слушатель вRabbitMQ)

Является ли мул полной системой баз Java (текущий эксперимент, который я проводил с RabbitMQ, занял у меня менее 30 минут, чтобы написать простой клиентский сервер RPC с клиентом в качестве C # и сервером в качестве Java, будут ли выполнены такие вещив Муле легко).

Ответы [ 5 ]

68 голосов
/ 27 июля 2010

Mule - это ESB (Enterprise Service Bus).RabbitMQ - это брокер сообщений.

ESB предоставляет дополнительные уровни поверх брокера сообщений, такие как маршрутизация, преобразования и управление бизнес-процессами.Он является посредником между приложениями, интегрирующими веб-службы, конечные точки REST, соединения с базой данных, электронную почту и FTP-серверы - вы называете это.Это высокоуровневая интеграционная магистраль, которая управляет взаимодействием в сети приложений, использующих разные протоколы.

брокер сообщений - это компонент более низкого уровня, который позволяет вам, как разработчику, передавать необработанные данныесообщения между издателями и подписчиками, обычно между компонентами одной и той же системы, но не всегда.Он используется для включения асинхронной обработки для поддержания низкого времени отклика.Некоторые задачи занимают больше времени, и вы не хотите, чтобы они задерживались, если они не чувствительны ко времени.Вместо этого отправьте сообщение в очередь (в качестве издателя) и попросите подписчика забрать его и обработать «позже».

6 голосов
/ 27 июля 2010

Mule - это сервис "более высокого уровня", реализованный с помощью брокера сообщений.Из документов

Магистраль обмена сообщениями ESB обычно реализуется с помощью JMS, но может использоваться любая другая реализация сервера сообщений

. Вы можетепостроить ESB с кроликом;однако вы будете ограничены отправкой пакетов byte [], и вам придется строить свою систему из примитивов обмена сообщениями, таких как темы и очереди.Это может быть немного быстрее (на основе абсолютно без бенчмаркинга, тестирования или данных), потому что существует меньше уровней перевода.Помимо этого, Mule предоставляет абстракцию, говорит на разных транспортах и ​​может обрабатывать некоторую логику маршрутизации.

1 голос
/ 05 июня 2019

Кролик из эпохи клиент-сервер, Мул относится к эпохе API Network. Если вы не вынуждены внедрять его в рамках устаревшей платформы, лучше использовать API Mule и Rest. Как бы то ни было, через несколько лет код, который вы написали для Rabbit, должен быть модифицирован для поддержки архитектуры настоящего и будущего на основе API. Так почему бы не сделать это сейчас? мои несколько центов.

1 голос
/ 22 августа 2017

RabbitMQ, программное обеспечение брокера сообщений с открытым исходным кодом написано на языке программирования Erlang и построено на платформе Open Telecom для кластеризации и отработки отказа. Он прост в использовании, поддерживает огромное количество платформ разработчиков и работает на всех основных операционных системах. Он работает над концепцией под названием Exchange. Mule соединяет RabbitMQ с разъемом AMQP.

0 голосов
/ 19 мая 2016

Mule - это сервисная шина Enterprise, предоставляющая комплексное решение для интеграции, где Rabbit является брокером сообщений для организации очередей сообщений между абонентом и получателем.

...