How does RabbitMQ compare to Mule

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”.

Leave a Comment