A cluster is a computers group connected by high-speed communication channels. Such a group is a combined hardware resource with specific functionality:
- Providing computing power;
- Load balancing;
- High availability.
Here, the defining characteristics are considered to be the cluster processors high performance when working with numeric floating-point values. Also, the determining factor — is the backing network low latency. I/o operations are less important for character determination since these processes fast execution rate is more typical for databases.
Computing clusters can split calculations into many parallel branches and analyse data in all directions at once. Data exchange with such a structure is possible through a connecting network between branches.
Load balancing clusters
This cluster type is also called distributive. Their work principle consists of the input nodes work, which selects requests for computational nodes. However, there may be more than one node as input points for queries.
Requests arrive at one or more nodes that act as entry points. Further, the nodes distribute the requests among the computational nodes, which carry out their direct processing.
High availability clusters
This kind clusters are created to provide services high availability. Such a cluster contains nodes an excessive number (at least two), which act as a fuses chain. If one or more servers fail, the cluster will still be able to provide the service.
This kind clusters are built according to three main archetypes:
- Modular redundancy. It is included in cases when system downtime is unacceptable: when triggered, each node processes one request or its separate fragments. The individual nodes work results will be identical to the other nodes results, or they will not change the subsequent work nature, so there should be no difference which one will be selected.
- Active reserve. Each node in the cluster processes requests, but if one or a whole group of nodes fails, the load is redistributed between the working nodes.
- Passive reserve. Some nodes are sleeping, do not fulfil requests and wait for an incident when active nodes fail, and only in this case will they start processing requests.