Clustering is a high-availability (HA) solution consists of two or more servers that function, are managed, and appear to the network users as a single entity. Server clusters supports mission-critical applications that can be reliably utilized with a minimum of down-time.
Server clustering simply involves at least two duplicate servers attached to the same network; one server performs the work while the others receive duplicate (mirrored) data. That would provide fault tolerance in case of server crashes by immediately restarting the application on another system without requiring administrative intervention to guarantee on-going operation, a process known as failover.
Clustering can be categorized into one of the following models of Node configurations:
Active/active — Traffic intended for the failed node is either passed onto an existing node or load balanced across the remaining nodes. This is usually only possible when the nodes use a homogeneous software configuration.
Active/passive — provides a fully redundant instance of each node, which is only brought online when its associated primary node fails, This configuration typically requires the most extra hardware.