0

I have an architectural question on Mule ESB. They say that ESBs ( like Mule ) help implement loosely coupled and highly scalable integrations based on messaging ( e.g. JMS ). Mule is also based on message source, message transformers, message routers.

So my question is how do all these Mule components inside a Mule flow talk to each other ? Do they also internally use message queues to make it highly scalable ?

Can someone throw some light or share any reference links ?

Thanks

Abhay Chaware
  • 333
  • 4
  • 14
  • start by reading this http://stackoverflow.com/questions/2705043/java-messaging-difference-between-activemq-mule-servicemix-and-camel – E LaRoche Feb 08 '17 at 15:57
  • Thanks @ELaRoche .. it explains the over all concepts well .. but my question is whether interaction between various mule components in a mule flow is JMS based ? – Abhay Chaware Feb 08 '17 at 16:00
  • this may help too https://github.com/mulesoft/mule since mule is open source you can download and take a look. but, yes, Mule does implement a message queue. This has more info on how it implements is https://www.mulesoft.com/resources/esb/enterprise-messaging-system-ems – E LaRoche Feb 08 '17 at 16:05
  • Thanks i will take a detailed look at the EMS link. I quickly browsed it, it says "Mule supports JMS delivery transport" .. that means you can use JMS queues within the flow you design, but it does not state anywhere where the mule components in the flow e.g. transformer, webservice consumer etc. internally use JMS to communicate with each other to process a message. That's what I am trying to figure out. I am doing more reading .. – Abhay Chaware Feb 08 '17 at 16:39
  • Still couldn't find any concrete information regarding this .. – Abhay Chaware Feb 09 '17 at 09:35
  • you may have to dig into the code. – E LaRoche Feb 09 '17 at 18:52

1 Answers1

0

"Mulesoft uses Hazelcast in their High Availability Cluster.

A cluster is a set of Mule instances that acts as a unit. In other words, a cluster is a virtual server composed of multiple nodes. The servers in a cluster communicate and share information through a distributed shared memory grid. This means that the data is replicated across memory in different physical machines.

If a node becomes unavailable due to failure or planned downtime, another node in the cluster can assume the workload and continue to process existing events and messages. Technically, they store all MuleESB Messages in Hazelcast Map and Queus. This way they guarantee not to lose a message. They use XA transactions too."

Mulesoft previously used Gigaspaces.

Source : https://hazelcast.org/messagingesb/

You can see logs referring to hazelcast during the instance startup.

jivi
  • 36
  • 3