0
votes

I am using Amazon cloud server (AWS) to create Mule server nodes. Issue with AWS is it doesn't support multicasts, but MuleSoft requires all the nodes are in same network and multicasts enabled for clustering.

Amazon FAQ:

https://aws.amazon.com/vpc/faqs/

Q. Does Amazon VPC support multicast or broadcast?

Ans:No.

Mule cluster doesn't show proper heartbeat without multicasts enabled, mule_ee.log file should show as

Cluster OK
Members [2] {
    Member [<IP-Node1>]:5701 this
    Member [<IP-Node2>]:5701 
}

but my cluster shows as:

Members [1] { 
    Member [<IP-Node1>]:5701 this 
} 

which is wrong according to MuleSoft standards. I created a sample Poll scheduler application and deployed in Mule cluster which runs in both nodes due to improper handling of Mule cluster.

But my organization needs AWS to continue with server configuration.

Question

1) is there any other approach instead of using Mule cluster, I can use both Mule server nodes and make it HA cluster configuration(Active-Active).

2) Is it possible to make one server up and running(active) and another one passive mode instead of Mule HA(ACtive-Active) mode?

3) CloudHub and AnypointMQ is deployed in AWS, how did MuleSoft handle multicasts issues with AWS?

1

1 Answers

1
votes

According to Mulesoft support team, they don't advise managing Mule HA in AWS , it doesnt matter if we aree managing with ARM or MMC.

The Mule instances communicate with each other and guarantee HA as well as not processing a single request more than once but that does not work on AWS because latency may cause the instances to disconnect from one another. We need to have the servers on-prem to have HA model

Multicast and Unicast are just used for the nodes to be discoverable automatically and further more as explained in the documentation.

Mule cluster config

AWS know limitation: here