# mulesoft On-premises Runtimes - Full Documentation --- product: On-premises Runtimes version: 4.11 keywords: hazelcast, quorum, split brain, node failure, failover, virtual IP, load balancer, server group, object store, mule-cluster.properties, 5701, multicast, unicast, on-premises, on-prem, standalone --- # Cluster On-Premises Mule Runtime Instances > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Clustering is optional. Use it when on-premises runtime must keep serving traffic if a node fails. Clustering requires Mule Enterprise Edition and an [Enterprise license](https://docs.mulesoft.com/on-premises/4.11/installing-an-enterprise-license). You supply the load balancer. The cluster doesn’t create a virtual IP and doesn’t copy Mule application artifacts from node to node. A server group isn’t a cluster. A server group is a set of unclustered servers that Runtime Manager can deploy to together. Server groups and Runtime Manager clusters are in [Hybrid Standalone Runtimes](https://docs.mulesoft.com/hybrid-standalone/). See the Cluster stage in [On-Premises Runtimes Overview](https://docs.mulesoft.com/on-premises/4.11/). After you choose a topology, see [On-Premises Mule Runtime High Availability Cluster Overview](https://docs.mulesoft.com/on-premises/4.11/mule-high-availability-ha-clusters) for node behavior, [Create and Manage an On-Premises Mule Runtime Cluster Manually](https://docs.mulesoft.com/on-premises/4.11/creating-and-managing-a-cluster-manually) to create the cluster, and [High Availability and Disaster Recovery for On-Premises Mule Runtime Engine](https://docs.mulesoft.com/on-premises/4.11/on-premises-hadr) for standby options. ## Choose a Clustering Topology A cluster shares memory, VM queues, and object-store data across nodes. Deploying a Mule application into a cluster is useful for: - High availability (HA): making your system continually available in the event that one or more servers in the cluster, or a data center, fails. - Fault tolerance (FT): ensuring recovery from failure of an underlying component. Typically, the recovery is achieved through transaction rollback or compensating actions. - Scaling: ensuring that your application can scale horizontally to meet increased demand. ## Understand On-Premises High Availability **_Enterprise Edition_**
Mule High Availability provides basic failover capability for Mule. When the primary Mule instance become unavailable (e.g., because of a fatal JVM or hardware failure or it’s taken offline for maintenance), a backup Mule instance immediately becomes the primary node and resumes processing where the failed instance left off. After a system administrator has recovered the failed Mule instance and brought it back online, it automatically becomes the backup node. Seamless failover is made possible by a distributed memory store that shares all transient state information among clustered Mule instances, such as:
Mule High Availability is currently available for the following transports:
|
|
Mule High Availability provides basic failover capability for Mule. When the primary Mule instance become unavailable (e.g., because of a fatal JVM or hardware failure or it’s taken offline for maintenance), a backup Mule instance immediately becomes the primary node and resumes processing where the failed instance left off. After a system administrator has recovered the failed Mule instance and brought it back online, it automatically becomes the backup node. Seamless failover is made possible by a distributed memory store that shares all transient state information among clustered Mule instances, such as:
Mule High Availability is currently available for these transports:
|
|
Mule High Availability provides basic failover capability for Mule. When the primary Mule instance become unavailable (e.g., because of a fatal JVM or hardware failure or it’s taken offline for maintenance), a backup Mule instance immediately becomes the primary node and resumes processing where the failed instance left off. After a system administrator has recovered the failed Mule instance and brought it back online, it automatically becomes the backup node. Seamless failover is made possible by a distributed memory store that shares all transient state information among clustered Mule instances, such as:
Mule High Availability is currently available for the following transports:
|
|
Mule High Availability provides basic failover capability for Mule. When the primary Mule instance become unavailable (e.g., because of a fatal JVM or hardware failure or it’s taken offline for maintenance), a backup Mule instance immediately becomes the primary node and resumes processing where the failed instance left off. After a system administrator has recovered the failed Mule instance and brought it back online, it automatically becomes the backup node. Seamless failover is made possible by a distributed memory store that shares all transient state information among clustered Mule instances, such as:
Mule High Availability is currently available for the following transports:
|
|
Mule High Availability provides basic failover capability for Mule. When the primary Mule instance become unavailable (e.g., because of a fatal JVM or hardware failure or it’s taken offline for maintenance), a backup Mule instance immediately becomes the primary node and resumes processing where the failed instance left off. After a system administrator has recovered the failed Mule instance and brought it back online, it automatically becomes the backup node. Seamless failover is made possible by a distributed memory store that shares all transient state information among clustered Mule instances, such as:
Mule High Availability is currently available for the following transports:
|
|
Mule High Availability provides basic failover capability for Mule. When the primary Mule instance become unavailable (e.g., because of a fatal JVM or hardware failure or it’s taken offline for maintenance), a backup Mule instance immediately becomes the primary node and resumes processing where the failed instance left off. After a system administrator has recovered the failed Mule instance and brought it back online, it automatically becomes the backup node. Seamless failover is made possible by a distributed memory store that shares all transient state information among clustered Mule instances, such as:
Mule High Availability is currently available for the following transports:
|
|
Mule High Availability provides basic failover capability for Mule. When the primary Mule instance become unavailable (e.g., because of a fatal JVM or hardware failure or it’s taken offline for maintenance), a backup Mule instance immediately becomes the primary node and resumes processing where the failed instance left off. After a system administrator has recovered the failed Mule instance and brought it back online, it automatically becomes the backup node. Seamless failover is made possible by a distributed memory store that shares all transient state information among clustered Mule instances, such as:
Mule High Availability is currently available for these transports:
|
|
| Property Name | Description | Required |
|---|---|---|
| Unique identifier for the cluster. It can be any alphanumeric string. | Yes |
| Unique ID of the node within the cluster. It can be any integer between 1 and the number of nodes in the cluster. | Yes |
| The number of nodes that belong to the cluster. | Yes |
| Comma-separated list of interfaces to use by Hazelcast. Wildcards are supported, as shown below. 192.168.1.*,192.168.100.25 | No |
| The nodes that belong to the cluster, in the form The port number is optional; if not set, the default is 5701. To include more than one host, create a comma-separated list. This option configures the cluster with the specified fixed IP addresses. Use this option if you are not relying on multicast for cluster node discovery. If using this option, set Examples: Two nodes listening on port 9000: 172.16.9.24:9000,172.16.9.51:9000 Two nodes listening on port 5701: 192.168.1.19,192.168.1.20 | No |
| Enables you to define the minimum number of machines required in a cluster to remain in an operational state. | No |
| (Boolean) Enable/disable multicast. Set to | No |
| Multicast group IP address to use. | No |
| Multicast port number to use. | No |
The JDBC URL for connection to the database | Required only when storing persistent data. | |
| Database username | Required only when storing persistent data. |
| Database user password | Required only when storing persistent data. |
| JDBC Driver class name | Required only when storing persistent data. |
| SQL dialect for accessing the stored object data. This property can take three different values: | Required only when storing persistent data. |
| (Boolean) Enable/disable monitoring | No |
| (Boolean) Enable/disable membership listener. Set to | No |
| Property Name | Description | Required |
|---|---|---|
| Unique identifier for the cluster. It can be any alphanumeric string. | Yes |
| Unique ID of the node within the cluster. It can be any integer between 1 and the number of nodes in the cluster. | Yes |
| The number of nodes that belong to the cluster. | Yes |
| Comma-separated list of interfaces to use by Hazelcast. Wildcards are supported, as shown below. 192.168.1.*,192.168.100.25 | No |
| The nodes that belong to the cluster, in the form The port number is optional; if not set, the default is 5701. To include more than one host, create a comma-separated list. This option configures the cluster with the specified fixed IP addresses. Use this option if you aren’t relying on multicast for cluster node discovery. If using this option, set Examples: Two nodes listening on port 9000: 172.16.9.24:9000,172.16.9.51:9000 Two nodes listening on port 5701: 192.168.1.19,192.168.1.20 | No |
| Enables you to define the minimum number of machines required in a cluster to remain in an operational state. | No |
| (Boolean) Enable/disable multicast. Set to | No |
| Multicast group IP address to use. | No |
| Multicast port number to use. | No |
The JDBC URL for connection to the database | Required only when storing persistent data. | |
| Database username | Required only when storing persistent data. |
| Database user password | Required only when storing persistent data. |
| JDBC Driver class name | Required only when storing persistent data. |
| SQL dialect for accessing the stored object data. This property can take three different values: | Required only when storing persistent data. |
| (Boolean) Enable/disable monitoring | No |
| (Boolean) Enable/disable membership listener. Set to | No |
| Property Name | Description | Required |
|---|---|---|
| Unique identifier for the cluster. It can be any alphanumeric string. | Yes |
| Unique ID of the node within the cluster. It can be any integer between 1 and the number of nodes in the cluster. | Yes |
| The number of nodes that belong to the cluster. | Yes |
| Comma-separated list of interfaces to use by Hazelcast. Wildcards are supported, as shown below. 192.168.1.*,192.168.100.25 | No |
| The nodes that belong to the cluster, in the form The port number is optional; if not set, the default is 5701. To include more than one host, create a comma-separated list. This option configures the cluster with the specified fixed IP addresses. Use this option if you are not relying on multicast for cluster node discovery. If using this option, set Examples: Two nodes listening on port 9000: 172.16.9.24:9000,172.16.9.51:9000 Two nodes listening on port 5701: 192.168.1.19,192.168.1.20 | No |
| Enables you to define the minimum number of machines required in a cluster to remain in an operational state. | No |
| (Boolean) Enable/disable multicast. Set to | No |
| Multicast group IP address to use. | No |
| Multicast port number to use. | No |
The JDBC URL for connection to the database | Required only when storing persistent data. | |
| Database username | Required only when storing persistent data. |
| Database user password | Required only when storing persistent data. |
| JDBC Driver class name | Required only when storing persistent data. |
| SQL dialect for accessing the stored object data. This property can take three different values: | Required only when storing persistent data. |
| (Boolean) Enable/disable monitoring | No |
| (Boolean) Enable/disable membership listener. Set to | No |
| Property Name | Description | Required |
|---|---|---|
| Unique identifier for the cluster. It can be any alphanumeric string. | Yes |
| Unique ID of the node within the cluster. It can be any integer between 1 and the number of nodes in the cluster. | Yes |
| The number of nodes that belong to the cluster. | Yes |
| Comma-separated list of interfaces to use by Hazelcast. Wildcards are supported, as shown below. 192.168.1.*,192.168.100.25 | No |
| The nodes that belong to the cluster, in the form The port number is optional; if not set, the default is 5701. To include more than one host, create a comma-separated list. This option configures the cluster with the specified fixed IP addresses. Use this option if you are not relying on multicast for cluster node discovery. If using this option, set Examples: Two nodes listening on port 9000: 172.16.9.24:9000,172.16.9.51:9000 Two nodes listening on port 5701: 192.168.1.19,192.168.1.20 | No |
| Enables you to define the minimum number of machines required in a cluster to remain in an operational state. | No |
| (Boolean) Enable/disable multicast. Set to | No |
| Multicast group IP address to use. | No |
| Multicast port number to use. | No |
The JDBC URL for connection to the database | Required only when storing persistent data. | |
| Database username | Required only when storing persistent data. |
| Database user password | Required only when storing persistent data. |
| JDBC Driver class name | Required only when storing persistent data. |
| SQL dialect for accessing the stored object data. This property can take three different values: | Required only when storing persistent data. |
| (Boolean) Enable/disable monitoring | No |
| (Boolean) Enable/disable membership listener. Set to | No |
| Property Name | Description | Required |
|---|---|---|
| Unique identifier for the cluster. It can be any alphanumeric string. | Yes |
| Unique ID of the node within the cluster. It can be any integer between 1 and the number of nodes in the cluster. | Yes |
| The number of nodes that belong to the cluster. | Yes |
| Comma-separated list of interfaces to use by Hazelcast. Wildcards are supported, as shown below. 192.168.1.*,192.168.100.25 | No |
| The nodes that belong to the cluster, in the form The port number is optional; if not set, the default is 5701. To include more than one host, create a comma-separated list. This option configures the cluster with the specified fixed IP addresses. Use this option if you are not relying on multicast for cluster node discovery. If using this option, set Examples: Two nodes listening on port 9000: 172.16.9.24:9000,172.16.9.51:9000 Two nodes listening on port 5701: 192.168.1.19,192.168.1.20 | No |
| Enables you to define the minimum number of machines required in a cluster to remain in an operational state. | No |
| (Boolean) Enable/disable multicast. Set to | No |
| Multicast group IP address to use. | No |
| Multicast port number to use. | No |
The JDBC URL for connection to the database | Required only when storing persistent data. | |
| Database username | Required only when storing persistent data. |
| Database user password | Required only when storing persistent data. |
| JDBC Driver class name | Required only when storing persistent data. |
| SQL dialect for accessing the stored object data. This property can take three different values: | Required only when storing persistent data. |
| (Boolean) Enable/disable monitoring | No |
| (Boolean) Enable/disable membership listener. Set to | No |
| Property Name | Description | Required |
|---|---|---|
| Unique identifier for the cluster. It can be any alphanumeric string. | Yes |
| Unique ID of the node within the cluster. It can be any integer between 1 and the number of nodes in the cluster. | Yes |
| The number of nodes that belong to the cluster. | Yes |
| Comma-separated list of interfaces to use by Hazelcast. Wildcards are supported, as shown below. 192.168.1.*,192.168.100.25 | No |
| The nodes that belong to the cluster, in the form The port number is optional; if not set, the default is 5701. To include more than one host, create a comma-separated list. This option configures the cluster with the specified fixed IP addresses. Use this option if you are not relying on multicast for cluster node discovery. If using this option, set Examples: Two nodes listening on port 9000: 172.16.9.24:9000,172.16.9.51:9000 Two nodes listening on port 5701: 192.168.1.19,192.168.1.20 | No |
| Enables you to define the minimum number of machines required in a cluster to remain in an operational state. | No |
| (Boolean) Enable/disable multicast. Set to | No |
| Multicast group IP address to use. | No |
| Multicast port number to use. | No |
The JDBC URL for connection to the database | Required only when storing persistent data. | |
| Database username | Required only when storing persistent data. |
| Database user password | Required only when storing persistent data. |
| JDBC Driver class name | Required only when storing persistent data. |
| SQL dialect for accessing the stored object data. This property can take three different values: | Required only when storing persistent data. |
| (Boolean) Enable/disable monitoring | No |
| (Boolean) Enable/disable membership listener. Set to | No |
| Property Name | Description | Required |
|---|---|---|
| Unique identifier for the cluster. It can be any alphanumeric string. | Yes |
| Unique ID of the node within the cluster. It can be any integer between 1 and the number of nodes in the cluster. | Yes |
| The number of nodes that belong to the cluster. | Yes |
| Comma-separated list of interfaces to use by Hazelcast. Wildcards are supported, as shown below. 192.168.1.*,192.168.100.25 | No |
| The nodes that belong to the cluster, in the form The port number is optional; if not set, the default is 5701. To include more than one host, create a comma-separated list. This option configures the cluster with the specified fixed IP addresses. Use this option if you aren’t relying on multicast for cluster node discovery. If using this option, set Examples: Two nodes listening on port 9000: 172.16.9.24:9000,172.16.9.51:9000 Two nodes listening on port 5701: 192.168.1.19,192.168.1.20 | No |
| Enables you to define the minimum number of machines required in a cluster to remain in an operational state. | No |
| (Boolean) Enable/disable multicast. Set to | No |
| Multicast group IP address to use. | No |
| Multicast port number to use. | No |
The JDBC URL for connection to the database | Required only when storing persistent data. | |
| Database username | Required only when storing persistent data. |
| Database user password | Required only when storing persistent data. |
| JDBC Driver class name | Required only when storing persistent data. |
| SQL dialect for accessing the stored object data. This property can take three different values: | Required only when storing persistent data. |
| (Boolean) Enable/disable monitoring | No |
| (Boolean) Enable/disable membership listener. Set to | No |
| Software | Version |
|---|---|
JDK | JDK 17 |
| Software | Version |
|---|---|
OS | MacOS 10.15, Windows Server 2019, Windows 10, Red Hat Enterprise Linux 9.4, Ubuntu Server 20.04 |
JDK | Adoptium OpenJDK distribution |
| Software | Version |
|---|---|
JDK | JDK 17 |
| Software | Version |
|---|---|
OS | MacOS 10.15, Windows Server 2019, Windows 10, Red Hat Enterprise Linux 9.4, Ubuntu Server 20.04 |
JDK | Adoptium OpenJDK distribution |
| Software | Version |
|---|---|
JDK | JDK 1.8.0 or JDK 11 |
| Software | Version |
|---|---|
OS | MacOS 10.15, HP-UX 11i V3, AIX 7.2, Windows Server 2019, Windows 10, Solaris 11.3, RHEL 8, Ubuntu Server 20.04 |
JDK | Adoptium OpenJDK distribution |
| Software | Version |
|---|---|
JDK | JDK 1.8.0 or JDK 11 |
| Software | Version |
|---|---|
OS | MacOS 10.15, HP-UX 11i V3, AIX 7.2, Windows Server 2019, Windows 10, Solaris 11.3, Red Hat Enterprise Linux 8.8, Ubuntu Server 20.04 |
JDK | Adoptium OpenJDK distribution |
| Software | Version |
|---|---|
JDK | JDK 1.8.0, JDK 11, or JDK 17 |
| Software | Version |
|---|---|
OS | MacOS 10.15, HP-UX 11i V3, AIX 7.2, Windows Server 2019, Windows 10, Solaris 11.3, Red Hat Enterprise Linux 9.4, Ubuntu Server 20.04 |
JDK | Adoptium OpenJDK distribution |
| Software | Version |
|---|---|
JDK | JDK 17 |
| Software | Version |
|---|---|
OS | MacOS 10.15, HP-UX 11i V3, AIX 7.2, Windows Server 2019, Windows 10, Solaris 11.3, Red Hat Enterprise Linux 9.4, Ubuntu Server 20.04 |
JDK | Adoptium OpenJDK distribution |
| Software | Version |
|---|---|
JDK | JDK 17 |
| Software | Version |
|---|---|
OS | MacOS 15, Windows Server 2019, Red Hat Enterprise Linux 9.4, Ubuntu Server 20.04 |
JDK | Adoptium OpenJDK distribution |
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment but leave one or more operating systems stopped—for example, as a backup of a production system or virtual machine. You start the operating system and the Mule runtime after you detect an outage. | Some. Covers the time to start the environment and route traffic. |
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment and run the operating systems but leave the Mule runtimes stopped. You start the Mule runtime after you detect an outage. | Little. Covers the time for the Mule runtime instances to start and route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| You install, configure, and fully run the Mule environment, but it doesn’t process requests until you detect an outage. | Minimal to none. Covers the time to route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| Load-balanced clustered environments: Two or more fully operational Mule environments run at the same time, each with its own cluster, and the load balancer distributes traffic across all of them. | None. The service experiences no downtime. |
| Load-balanced single clustered environment: Two or more Mule environments belong to the same cluster. This scenario requires network latency between environments to stay below 10 ms. | None. The service experiences no downtime. |
| Deployment Step | Diagram |
|---|---|
You deploy the new production environment and route a small percentage of traffic to it. |
|
Your confidence in the new environment grows, and you route more traffic to it. |
|
You route all traffic to the new environment. |
|
You promote the new environment to baseline production and terminate the previous baseline. |
|
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment but leave one or more operating systems stopped—for example, as a backup of a production system or virtual machine. You start the operating system and the Mule runtime after you detect an outage. | Some. Covers the time to start the environment and route traffic. |
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment and run the operating systems but leave the Mule runtimes stopped. You start the Mule runtime after you detect an outage. | Little. Covers the time for the Mule runtime instances to start and route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| You install, configure, and fully run the Mule environment, but it doesn’t process requests until you detect an outage. | Minimal to none. Covers the time to route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| Load-balanced clustered environments: Two or more fully operational Mule environments run at the same time, each with its own cluster, and the load balancer distributes traffic across all of them. | None. The service experiences no downtime. |
| Load-balanced single clustered environment: Two or more Mule environments belong to the same cluster. This scenario requires network latency between environments to stay below 10 ms. | None. The service experiences no downtime. |
| Deployment Step | Diagram |
|---|---|
You deploy the new production environment and route a small percentage of traffic to it. |
|
Your confidence in the new environment grows, and you route more traffic to it. |
|
You route all traffic to the new environment. |
|
You promote the new environment to baseline production and terminate the previous baseline. |
|
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment but leave one or more operating systems stopped—for example, as a backup of a production system or virtual machine. You start the operating system and the Mule runtime after you detect an outage. | Some. Covers the time to start the environment and route traffic. |
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment and run the operating systems but leave the Mule runtimes stopped. You start the Mule runtime after you detect an outage. | Little. Covers the time for the Mule runtime instances to start and route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| You install, configure, and fully run the Mule environment, but it doesn’t process requests until you detect an outage. | Minimal to none. Covers the time to route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| Load-balanced clustered environments: Two or more fully operational Mule environments run at the same time, each with its own cluster, and the load balancer distributes traffic across all of them. | None. The service experiences no downtime. |
| Load-balanced single clustered environment: Two or more Mule environments belong to the same cluster. This scenario requires network latency between environments to stay below 10 ms. | None. The service experiences no downtime. |
| Deployment Step | Diagram |
|---|---|
You deploy the new production environment and route a small percentage of traffic to it. |
|
Your confidence in the new environment grows, and you route more traffic to it. |
|
You route all traffic to the new environment. |
|
You promote the new environment to baseline production and terminate the previous baseline. |
|
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment but leave one or more operating systems stopped—for example, as a backup of a production system or virtual machine. You start the operating system and the Mule runtime after you detect an outage. | Some. Covers the time to start the environment and route traffic. |
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment and run the operating systems but leave the Mule runtimes stopped. You start the Mule runtime after you detect an outage. | Little. Covers the time for the Mule runtime instances to start and route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| You install, configure, and fully run the Mule environment, but it doesn’t process requests until you detect an outage. | Minimal to none. Covers the time to route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| Load-balanced clustered environments: Two or more fully operational Mule environments run at the same time, each with its own cluster, and the load balancer distributes traffic across all of them. | None. The service experiences no downtime. |
| Load-balanced single clustered environment: Two or more Mule environments belong to the same cluster. This scenario requires network latency between environments to stay below 10 ms. | None. The service experiences no downtime. |
| Deployment Step | Diagram |
|---|---|
You deploy the new production environment and route a small percentage of traffic to it. |
|
Your confidence in the new environment grows, and you route more traffic to it. |
|
You route all traffic to the new environment. |
|
You promote the new environment to baseline production and terminate the previous baseline. |
|
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment but leave one or more operating systems stopped—for example, as a backup of a production system or virtual machine. You start the operating system and the Mule runtime after you detect an outage. | Some. Covers the time to start the environment and route traffic. |
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment and run the operating systems but leave the Mule runtimes stopped. You start the Mule runtime after you detect an outage. | Little. Covers the time for the Mule runtime instances to start and route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| You install, configure, and fully run the Mule environment, but it doesn’t process requests until you detect an outage. | Minimal to none. Covers the time to route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| Load-balanced clustered environments: Two or more fully operational Mule environments run at the same time, each with its own cluster, and the load balancer distributes traffic across all of them. | None. The service experiences no downtime. |
| Load-balanced single clustered environment: Two or more Mule environments belong to the same cluster. This scenario requires network latency between environments to stay below 10 ms. | None. The service experiences no downtime. |
| Deployment Step | Diagram |
|---|---|
You deploy the new production environment and route a small percentage of traffic to it. |
|
Your confidence in the new environment grows, and you route more traffic to it. |
|
You route all traffic to the new environment. |
|
You promote the new environment to baseline production and terminate the previous baseline. |
|
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment but leave one or more operating systems stopped—for example, as a backup of a production system or virtual machine. You start the operating system and the Mule runtime after you detect an outage. | Some. Covers the time to start the environment and route traffic. |
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment and run the operating systems but leave the Mule runtimes stopped. You start the Mule runtime after you detect an outage. | Little. Covers the time for the Mule runtime instances to start and route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| You install, configure, and fully run the Mule environment, but it doesn’t process requests until you detect an outage. | Minimal to none. Covers the time to route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| Load-balanced clustered environments: Two or more fully operational Mule environments run at the same time, each with its own cluster, and the load balancer distributes traffic across all of them. | None. The service experiences no downtime. |
| Load-balanced single clustered environment: Two or more Mule environments belong to the same cluster. This scenario requires network latency between environments to stay below 10 ms. | None. The service experiences no downtime. |
| Deployment Step | Diagram |
|---|---|
You deploy the new production environment and route a small percentage of traffic to it. |
|
Your confidence in the new environment grows, and you route more traffic to it. |
|
You route all traffic to the new environment. |
|
You promote the new environment to baseline production and terminate the previous baseline. |
|
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment but leave one or more operating systems stopped—for example, as a backup of a production system or virtual machine. You start the operating system and the Mule runtime after you detect an outage. | Some. Covers the time to start the environment and route traffic. |
| Diagram | Description | Downtime |
|---|---|---|
| You install and configure the Mule environment and run the operating systems but leave the Mule runtimes stopped. You start the Mule runtime after you detect an outage. | Little. Covers the time for the Mule runtime instances to start and route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| You install, configure, and fully run the Mule environment, but it doesn’t process requests until you detect an outage. | Minimal to none. Covers the time to route traffic to the environment. |
| Diagram | Description | Downtime |
|---|---|---|
| Load-balanced clustered environments: Two or more fully operational Mule environments run at the same time, each with its own cluster, and the load balancer distributes traffic across all of them. | None. The service experiences no downtime. |
| Load-balanced single clustered environment: Two or more Mule environments belong to the same cluster. This scenario requires network latency between environments to stay below 10 ms. | None. The service experiences no downtime. |
| Deployment Step | Diagram |
|---|---|
You deploy the new production environment and route a small percentage of traffic to it. |
|
Your confidence in the new environment grows, and you route more traffic to it. |
|
You route all traffic to the new environment. |
|
You promote the new environment to baseline production and terminate the previous baseline. |
|
Download
Unpack the Enterprise zip. Set MULE_HOME. Run $MULE_HOME/bin/mule once in the console to prove the JVM starts.
Service
Install as a Windows service or Linux daemon with mule install. That command doesn’t create a systemd unit named mule.service.
License
Stop the runtime. Install license.lic with mule -installLicense. An expired Enterprise license doesn’t restart. The Java Service Wrapper (Tanuki) license is a different key.
Wrapper
Point wrapper.java.command at the java executable, not at JAVA_HOME. Set heap, Metaspace, and wrapper.startup.timeout in wrapper.conf.
Start and deploy
Start with mule start. Copy Mule application JARs to $MULE_HOME/apps. Read status in $MULE_HOME/logs/mule_ee.log when the runtime runs as a service.
Harden
Run as a non-root user, restrict file permissions, and configure TLS or FIPS before production.
Register (optional)
Register the Runtime Manager agent only if the control plane must manage this instance.
Cluster (optional)
Cluster Enterprise nodes for failover. Supply your own load balancer.
Upgrade
Apply a patch or move to a later 4.x minor using the upgrade documentation.
| Stage | Action | References |
|---|---|---|
Prerequisites | Confirm the JDK, architecture, RAM, and OS listed for this Mule version. Red Hat Enterprise Linux (RHEL) is tested; RHEL clones such as Rocky Linux are supported. | |
Download | Unpack the Enterprise zip. Set | |
Service | Install as a Windows service or Linux daemon with | |
License | Stop the runtime. Install | |
Wrapper | Point | |
Start and deploy | Start with | |
Harden | Run as a non-root user, restrict file permissions, and configure TLS or FIPS before production. | |
Register (optional) | Register the Runtime Manager agent only if the control plane must manage this instance. | |
Cluster (optional) | Cluster Enterprise nodes for failover. Supply your own load balancer. | |
Upgrade | Apply a patch or move to a later 4.x minor using the upgrade documentation. |
| Stage | Action | References |
|---|---|---|
Prerequisites | Confirm the JDK, architecture, RAM, and OS listed for this Mule version. Red Hat Enterprise Linux (RHEL) is tested; RHEL clones such as Rocky Linux are supported. | |
Download | Unpack the Enterprise zip. Set | |
Service | Install as a Windows service or Linux daemon with | |
License | Stop the runtime. Install | |
Wrapper | Point | |
Start and deploy | Start with | |
Harden | Run as a non-root user, restrict file permissions, and configure TLS or FIPS before production. | |
Register (optional) | Register the Runtime Manager agent only if the control plane must manage this instance. | |
Cluster (optional) | Cluster Enterprise nodes for failover. Supply your own load balancer. | |
Upgrade | Apply a patch or move to a later 4.x minor using the upgrade documentation. |
| Stage | Action | References |
|---|---|---|
Prerequisites | Confirm the JDK, architecture, RAM, and OS listed for this Mule version. Red Hat Enterprise Linux (RHEL) is tested; RHEL clones such as Rocky Linux are supported. | |
Download | Unpack the Enterprise zip. Set | |
Service | Install as a Windows service or Linux daemon with | |
License | Stop the runtime. Install | |
Wrapper | Point | |
Start and deploy | Start with | |
Harden | Run as a non-root user, restrict file permissions, and configure TLS or FIPS before production. | |
Register (optional) | Register the Runtime Manager agent only if the control plane must manage this instance. | |
Cluster (optional) | Cluster Enterprise nodes for failover. Supply your own load balancer. | |
Upgrade | Apply a patch or move to a later 4.x minor using the upgrade documentation. |
| Stage | Action | References |
|---|---|---|
Prerequisites | Confirm the JDK, architecture, RAM, and OS listed for this Mule version. Red Hat Enterprise Linux (RHEL) is tested; RHEL clones such as Rocky Linux are supported. | |
Download | Unpack the Enterprise zip. Set | |
Service | Install as a Windows service or Linux daemon with | |
License | Stop the runtime. Install | |
Wrapper | Point | |
Start and deploy | Start with | |
Harden | Run as a non-root user, restrict file permissions, and configure TLS or FIPS before production. | |
Register (optional) | Register the Runtime Manager agent only if the control plane must manage this instance. | |
Cluster (optional) | Cluster Enterprise nodes for failover. Supply your own load balancer. | |
Upgrade | Apply a patch or move to a later 4.x minor using the upgrade documentation. |
| Stage | Action | References |
|---|---|---|
Prerequisites | Confirm the JDK, architecture, RAM, and OS listed for this Mule version. Red Hat Enterprise Linux (RHEL) is tested; RHEL clones such as Rocky Linux are supported. | |
Download | Unpack the Enterprise zip. Set | |
Service | Install as a Windows service or Linux daemon with | |
License | Stop the runtime. Install | |
Wrapper | Point | |
Start and deploy | Start with | |
Harden | Run as a non-root user, restrict file permissions, and configure TLS or FIPS before production. | |
Register (optional) | Register the Runtime Manager agent only if the control plane must manage this instance. | |
Cluster (optional) | Cluster Enterprise nodes for failover. Supply your own load balancer. | |
Upgrade | Apply a patch or move to a later 4.x minor using the upgrade documentation. |
| Stage | Action | References |
|---|---|---|
Prerequisites | Confirm the JDK, architecture, RAM, and OS listed for this Mule version. Red Hat Enterprise Linux (RHEL) is tested; RHEL clones such as Rocky Linux are supported. | |
Download | Unpack the Enterprise zip. Set | |
Service | Install as a Windows service or Linux daemon with | |
License | Stop the runtime. Install | |
Wrapper | Point | |
Start and deploy | Start with | |
Harden | Run as a non-root user, restrict file permissions, and configure TLS or FIPS before production. | |
Register (optional) | Register the Runtime Manager agent only if the control plane must manage this instance. | |
Cluster (optional) | Cluster Enterprise nodes for failover. Supply your own load balancer. | |
Upgrade | Apply a patch or move to a later 4.x minor using the upgrade documentation. |
| Parameter | Description |
|---|---|
| Starts Mule in the terminal background. |
| Stops Mule. Inbound endpoints process in-flight messages before Mule shuts down. However, after the timeout period, inflight messages that haven’t completed are abandoned and Mule shuts down. |
| Restarts Mule. |
| (Linux/Unix only.) Displays the status of the Mule server ( |
| (Linux/Unix only.) Dumps the Mule wrapper’s core to |
| Start Mule in the terminal foreground (console mode). Same as running |
| Install Mule as a Windows Service or Linux/Unix Daemon. |
| Remove Mule from your Windows Services or Linux/Unix Daemons. |
| Parameter | Description |
|---|---|
| Starts Mule in the terminal background. |
| Stops Mule. Inbound endpoints process in-flight messages before Mule shuts down. However, after the timeout period, inflight messages that haven’t completed are abandoned and Mule shuts down. |
| Restarts Mule. |
| (Linux/Unix only.) Displays the status of the Mule server ( |
| (Linux/Unix only.) Dumps the Mule wrapper’s core to |
| Start Mule in the terminal foreground (console mode). Same as running |
| Install Mule as a Windows Service or Linux/Unix Daemon. |
| Remove Mule from your Windows Services or Linux/Unix Daemons. |
| Parameter | Description |
|---|---|
| Starts Mule in the terminal background. |
| Stops Mule. Inbound endpoints process in-flight messages before Mule shuts down. However, after the timeout period, inflight messages that haven’t completed are abandoned and Mule shuts down. |
| Restarts Mule. |
| (Linux/Unix only.) Displays the status of the Mule server ( |
| (Linux/Unix only.) Dumps the Mule wrapper’s core to |
| Start Mule in the terminal foreground (console mode). Same as running |
| Install Mule as a Windows Service or Linux/Unix Daemon. |
| Remove Mule from your Windows Services or Linux/Unix Daemons. |
| Parameter | Description |
|---|---|
| Starts Mule in the terminal background. |
| Stops Mule. Inbound endpoints process in-flight messages before Mule shuts down. However, after the timeout period, inflight messages that haven’t completed are abandoned and Mule shuts down. |
| Restarts Mule. |
| (Linux/Unix only.) Displays the status of the Mule server ( |
| (Linux/Unix only.) Dumps the Mule wrapper’s core to |
| Start Mule in the terminal foreground (console mode). Same as running |
| Install Mule as a Windows Service or Linux/Unix Daemon. |
| Remove Mule from your Windows Services or Linux/Unix Daemons. |
| Parameter | Description |
|---|---|
| Starts Mule in the terminal background. |
| Stops Mule. Inbound endpoints process in-flight messages before Mule shuts down. However, after the timeout period, inflight messages that haven’t completed are abandoned and Mule shuts down. |
| Restarts Mule. |
| (Linux/Unix only.) Displays the status of the Mule server ( |
| (Linux/Unix only.) Dumps the Mule wrapper’s core to |
| Start Mule in the terminal foreground (console mode). Same as running |
| Install Mule as a Windows Service or Linux/Unix Daemon. |
| Remove Mule from your Windows Services or Linux/Unix Daemons. |
| Parameter | Description |
|---|---|
| Starts Mule in the terminal background. |
| Stops Mule. Inbound endpoints process in-flight messages before Mule shuts down. However, after the timeout period, inflight messages that haven’t completed are abandoned and Mule shuts down. |
| Restarts Mule. |
| (Linux/Unix only.) Displays the status of the Mule server ( |
| (Linux/Unix only.) Dumps the Mule wrapper’s core to |
| Start Mule in the terminal foreground (console mode). Same as running |
| Install Mule as a Windows Service or Linux/Unix Daemon. |
| Remove Mule from your Windows Services or Linux/Unix Daemons. |
| Parameter | Description |
|---|---|
| Starts Mule in the terminal background. |
| Stops Mule. Inbound endpoints process in-flight messages before Mule shuts down. However, after the timeout period, inflight messages that haven’t completed are abandoned and Mule shuts down. |
| Restarts Mule. |
| (Linux/Unix only.) Displays the status of the Mule server ( |
| (Linux/Unix only.) Dumps the Mule wrapper’s core to |
| Start Mule in the terminal foreground (console mode). Same as running |
| Install Mule as a Windows Service or Linux/Unix Daemon. |
| Remove Mule from your Windows Services or Linux/Unix Daemons. |