mule runtime high availability (ha) cluster overview
TRANSCRIPT
![Page 1: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/1.jpg)
Mule Runtime High Availability (HA) Cluster
Overview
![Page 2: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/2.jpg)
What is cluster ?
• A set of Mule runtimes that acts as a unit• A virtual server composed of multiple nodes
![Page 3: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/3.jpg)
The Benefits of Clustering
• Clustering Mule runtimes ensures high system availability
• Assume the workload and continue to process existing events and messages
![Page 4: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/4.jpg)
The Benefits of Clustering
• If one node fails, the other available nodes pick up the work of the failing node
![Page 5: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/5.jpg)
The Benefits of Clustering
• Improve performance and scalability• Support more users or improve application
performance by sharing the workload across multiple nodes or by adding nodes to the cluster
![Page 6: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/6.jpg)
The Benefits of Clustering
![Page 7: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/7.jpg)
Clustering Mule runtimes benefits
• Automatic coordination of access to resources • Automatic load balancing of processing within
a cluster• Cluster lifecycle management and control• Cluster and node performance monitoring• Raised alerts
![Page 8: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/8.jpg)
Concurrency Issues Solved by Clusters
• File based transports• Multicast transport• JMS Topics• JMS request-reply/request-response• Idempotent-redelivery-policy• Salesforce streaming API
![Page 9: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/9.jpg)
About Clustering
![Page 10: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/10.jpg)
About Queues
• Set up a VM queue explicitly to load balance across Mule runtimes (nodes)
• Cluster can process a single message on multiple nodes as it passes through the VM endpoints in the application flow
![Page 11: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/11.jpg)
About Queues
![Page 12: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/12.jpg)
About High-Reliability Applications
• Zero tolerance for message loss• A reliable underlying enterprise service bus • Highly reliable individual connections
![Page 13: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/13.jpg)
Cluster Support for Transports• Mule transports are supported within a cluster• Mule runtimes support three basic types of transports:
– Socket-based transports read input sent to network sockets that Mule owns
– Listener-based transports read data using a protocol that fully supports concurrent multiple accessors
– Resource-based transports read data from a resource that allows multiple concurrent accessors
![Page 14: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/14.jpg)
Cluster Support for Transports
• Three basic types of transports are supported in clusters in different ways:– Socket-based– Listener-based– Resource-based
![Page 15: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/15.jpg)
Clustering and Reliable Applications
• Reliability needs to extend to individual connections• Reliability Patterns give you the tools to build fully
reliable applications in your clusters• Mule’s built-in support for transactional transports
enables reliable messaging for applications that use these transports
![Page 16: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/16.jpg)
Clustering and Networking• All nodes of a cluster should be located on the same LAN• Implementing a cluster with nodes across geographically
separated locations• Linking cluster nodes through a WAN network introduces
many possible points of failure such as external routers and firewalls
• Ensuring that all cluster nodes reside on the same LAN is the best practice to lower the possibility of network interruptions and unintended consequences
![Page 17: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/17.jpg)
Clustering and Load Balancing
• Nginx, an open-source HTTP server and reverse proxy: use nginx’s HttpUpstreamModule for HTTP(S) load balancing or Linode Library entry Use Nginx for Proxy Services and Software Load Balancing
![Page 18: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/18.jpg)
Clustering and Load Balancing
• The Apache web server: – Used as an HTTP(S) load balancer– Using the Apache web server for load balancing in
the description of the Apache Module mod_proxy_balance
![Page 19: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/19.jpg)
Clustering for High Performance
• Setting the performance profile has two effects:– It disables distributed queues, using local queues instead
to prevent data serialization/deserialization and distribution in the shared data grid
– Implements the object store without backups, to avoid replication
![Page 20: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/20.jpg)
Clustering for High Performance• To configure the performance profile at the container
level, add to mule-cluster.properties or to the system properties from the command line or wrapper.conf
![Page 21: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/21.jpg)
Clustering for High Performance
![Page 22: Mule runtime high availability (ha) cluster overview](https://reader036.vdocuments.mx/reader036/viewer/2022070516/586fddf71a28ab18428b6a1d/html5/thumbnails/22.jpg)
Question and answer