Active / Active clustered installations

General concepts

A computer cluster is a group of linked computers, working together to provide a single set of services.

Within clustering, there are two main clustering concepts:

Active / Passive – In an active / passive cluster, one node owns the services, while the other one remains inoperative. Should the primary node fail, the secondary or backup node takes the resources and reactivates the services, while the ex-primary remains in turn inoperative. This concept is also known as a failover cluster.

Active / Active – In an active / active setup, there is no concept of a primary or backup node: both nodes provide services. Should one of these nodes fail, the other must also assume both its own services and the failed node's services.

The most common size for a high-availability (HA) cluster is a two-node cluster. This is the minimum node requirement to provide redundancy. Should one node fail (for a hardware or software problem), the other node acquires the resources that were previously managed by the failed node, in order to re-enable access to these resources.

B2Bi supports four-node clustering.

Clustering and scaling

Clustering is related to scaling, but it is not the exactly same thing. Scaling can be done in two ways:

Vertical scaling – Adding resources to a single node in a system, typically through the addition of CPUs or memory to a single node.

B2Bi supports vertical scaling. It can leverage more CPUs available on a single server to increase the throughput.

The trading engine is multi-threaded. It can be configured to scale automatically to specified limits determined by hardware and configuration settings.

The integration engine can be configured to be more scalable, by adapting it to the number of CPUs in the machine.

Horizontal scaling – Clustering is a form of horizontal scaling: adding more nodes to a system. However, clustering in B2Bi involves more than adding additional machines and processing resources.

The effect of adding B2Bi nodes is not linear. That is, adding a second node does not double the throughput capacity. There are many factors that have an influence on performance (CPUs / memory / disk speed / network). Results of horizontal scaling depends on the root causes of processing bottle-necks.