Sei sulla pagina 1di 16

Anatomy Of Mule Runtime

(On Premise)
Introduction
● What is Mule Runtime On Premise
● Cloudhub vs On-Prem
● Mule Runtime Deep Dive
● Domain Projects
● Server Groups
● Clusters
● Configure Anypoint Monitoring
● High Availability
Mule Runtime On Premise
Mule runtime on premise is one of the deployment model.

Characteristics:
 Running Multiple Applications in One Mule Instance
 Application Package and Deployment
 Application and Domain Deployment
 Application Hot Deployment
 Communication Between Mule Instances and the Management Pane
 Deploy Applications in Parallel by copying applications to /apps folder and start server with :
mule -M-Dmule.deployment.parallel command
 Update Applications at Runtime by either touching mule-config.xml (apps root directory) or
placing updated jar in $MULE_HOME/apps
 Supports Domain Projects
Cloudhub vs On Premise

Features Clouhub On-Premise


Configurable VPC, Whitelisting Yes Yes
Load Balancing Yes No
Hands-Off Server & Host Management Yes No
Simple Vertical Scaling of your Applications Yes No
Customizable Hosting Settings No Yes
High Availability Architecture Yes Yes
Custom log4j for Logging No/Optional Yes
One Click Trivial Mule Runtime Upgrade Yes No
Application Properties Management Yes Yes
On the Fly Process Kickoff and/or Scheduler Modification Yes No
Automated Alerting System Yes Yes
Clustering Specific Servers No Yes
Static IP Assignment Yes Yes
Support for Domain Projects No Yes
Cloudhub vs On-Premise
iPaas Worker hides the operating system and underying physical details of the servers on
which Mule Runtime is started
Mule Runtime Deep Dive
 Applications deployed on mule runtime are saved under apps folder.
 Domain projects can be directly copied to domains folder. Once project is successfully
deployed an anchor file will be created and archive will explode as folder.
 Server can be added to anypoint platform by:

 Unix: $MULE_HOME/bin/mule
 Windows: $MULE_HOME\bin\mule.bat
 Server can be started by:

 Server configurations are saved in:


 Wrapper.conf : system properties, Anypoint Platform Settings, Wrapper Properties, Wrapper Logging Properties, Wrapper
Windows properties
 wrapper-additional.conf: stores additional properties which are currently configured for Mule Runtime
 scheduler-pools.conf: Contians confugirations of thread pools
 mule-agent.yml: Runtime agent configurations are written here when you run amc_setup command. It stores transports,
global configuration and services and additional features can be configured.
 tls-default.conf: ssl behavior of Mule Runtime is saved here.
Mule Runtime Deep Dive
• .mule folder contains persisted configuration information about the server
itself and its applications. It also contains the persisted data from the
applications.
• .mule folder has mule-cluster.properties file which contains cluster related
configurations.
• policies folder contains polices defined on applications deployed on mule
runtime.
• List of services enabled on mule runtime is mentioned in services folder.
• Logs folder contains application logs, domain project logs, runtime logs,
mule agent logs, server metrics logs
Domain Projects (Shared Resources)

Characteristics:
 Expose multiple services within the domain through the same port.
 Share the connection to persistent storage.
 Share services between Mule applications through a well-defined interface.
 Ensure consistency between Mule applications upon any changes because the configuration is only set
in one place.
 Defining flows, subflows, or any message processors as shared resources is not supported.
 Mule apps can be associated with only one domain at a time
Server Groups
A server group is just an administrative grouping of isolated Mule runtimes
Server Groups
 servers to server group can be added as below:

 All servers in a server group must be running the same version of Mule runtime engine and
the same version of Runtime Manager agent.
 You can create a server group with servers with the Running or the Disconnected status, but
these can’t be in the same group as servers with the Created status.
 You can create a server group with servers with the Created status.
 To add a server on which existing applications are currently running to a server group, first
stop and delete the applications from the server.
Clusters
A cluster is a set of customer-hosted Mule runtimes that act as a unit. Cluster is a virtual
server composed of physical nodes. Clusters can be created as Unicast and Multicast

UniCast Cluster Multicast Cluster


Clusters
UniCast Cluster Multicast Cluster
 server doesnot need to be running to add
 server status must be running to
add  Adding or Removing servers can be
dynamic without restarting the cluster
 Adding or Removing server
requires restart of the cluster  Detects each other servers automatically
 Requires IP Address of the node  Servers must be on same Network
in cluster Segment
 Not supported accross sub-nets  Only permitted in network where
multicast is allowed
 If you configure your cluster to use
multicast, you need to enable the
multicast IP address: 224.2.2.3.
Multicast is used to discover new cluster
members.
Configure Anypoint Monitoring
Anypoint Monitoring agent on an on-premises server to monitor applications that are running on
that server and managed in the cloud.
Anypoint Monitoring agent sends monitoring data to the Anypoint Monitoring cloud endpoint.
Anypoint Monitoring data is transferred using an open-source protocol for transferring log data over
a highly-efficient bidirectional binary channel.
High Availability
Mule High Availability provides basic failover capability for Mule. Seamless failover is
possible by distributed memory state.

HA is available for following transports:

• HTTP
• JMS
• WebSphere MQ
• JDBC
• File
• FTP
• Clustered (replaces the local VM
transport)
Links Referred
• https://www.ms3-inc.com/integration/mulesoft/cloudhub-vs-on-premise/

• https://docs.mulesoft.com/mule-runtime/4.3/mule-high-availability-ha-clusters

• https://docs.mulesoft.com/mule-runtime/4.3/shared-resources#prerequisites

• https://help.mulesoft.com/s/article/How-to-override-`cluster-properties

• https://docs.mulesoft.com/mule-runtime/4.3/creating-and-managing-a-cluster-manually#cluster-
configuration-parameters

• https://docs.mulesoft.com/mule-runtime/4.3/creating-and-managing-a-cluster-manually

• https://docs.mulesoft.com/monitoring/am-installing

• https://docs.mulesoft.com/mule-runtime/4.3/choosing-the-right-clustering-topology

• https://docs.mulesoft.com/mule-runtime/3.8/mule-high-availability-ha-clusters#the-benefits-of-
clustering

• https://docs.mulesoft.com/mule-runtime/4.2/creating-and-managing-a-cluster-manually#object-
store-persistence
Questions?

Potrebbero piacerti anche