mule runtime high availability (ha) cluster overview

22
Mule Runtime High Availability (HA) Cluster Overview

Upload: cong-thanh-nguyen

Post on 07-Jan-2017

135 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Mule runtime high availability (ha) cluster overview

Mule Runtime High Availability (HA) Cluster

Overview

Page 2: Mule runtime high availability (ha) cluster overview

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

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

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

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

The Benefits of Clustering

Page 7: Mule runtime high availability (ha) cluster overview

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

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

About Clustering

Page 10: Mule runtime high availability (ha) cluster overview

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

About Queues

Page 12: Mule runtime high availability (ha) cluster overview

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

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

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

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

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

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

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

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

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

Clustering for High Performance

Page 22: Mule runtime high availability (ha) cluster overview

Question and answer