Cluster Manager
The cluster manager supervises the configuration and behavior of all the servers in a Couchbase cluster. It configures and supervises internode behavior like managing replication streams and rebalancing operations. It also provides metric aggregation and consensus functions for the cluster, and a RESTful cluster management API. The cluster manager is built atop Erlang/OTP, a proven environment for building and operating fault-tolerant distributed systems.
In the event of a server failure, the cluster manager detects that a node is down, promotes replica documents to active status, and recomputes the cluster map so that the client application can continue operating without any downtime. When new servers are added to the cluster or existing servers removed, the cluster manager rebalances data so that data and I/O are uniformly distributed across all cluster nodes.