MATRIXX Engine High Availability and Scalability

MATRIXX uses a combination of industry standard clustering techniques as well as a proprietary technique to achieve both high availability and high scalability within the MATRIXX Engine.

The MATRIXX Engine uses standard clustering techniques for high availability (HA). The clusters provide processing capabilities across multiple blade servers, and allow you to remove and restore blade servers within a cluster. The MATRIXX Engine can then handle fault recovery scenarios seamlessly and in a non-system-impacting manner. Scalability is achieved by adding blade servers to clusters and by using a protocol-aware, industry standard load balancer to manage incoming data across the cluster. The load balancer can add new blade servers to the processing flow as soon as it detects they are capable of processing events.

Clustering and scalability are possible because the MATRIXX Engine supports complete data and transaction replication of all events processed by any blade server within a cluster to all other blade servers within the cluster. This is achieved without the need to block processing of an event for any reason. Resources are not locked. Different blade clusters can be processing different events from the same subscriber and the results will be correct. In addition to the speed improvements that a non-locking software architecture provides, locality of reference is not needed. For example, any blade can process an update to an open session with no additional overhead, independent of which blade processed the opening of the session.

The ability to distribute data and ensure it is 100% replicated and consistent—in real-time—across all blade servers in a cluster allows an engine to maintain full transaction processing capabilities, even in the event of a hardware or software failure.