The Cluster API enables the use of services provided by the Cluster Service. It includes functions to retrieve and update data for the following purposes:
The Cluster API is used by cluster-aware applications, by cluster management applications, by resource DLLs, and by the Cluster Service. Cluster-aware applications such as database server applications use the Cluster API to discover resources and monitor changes in their state. Cluster management applications such as Cluster Administrator use the Cluster API to perform administration and configuration.
Access to a cluster through the Cluster API is unaffected by a node failure if the user has connected to the cluster rather than to a node and an alternate node is available. Individual calls may return errors resulting from node failures, but the cluster will remain available.
The following diagram shows how the Cluster API is accessed. The components inside the dashed line represent one node in a two node cluster. The node is running the Cluster Service, several resource DLLs, and one or more cluster-aware server applications. On another cluster node or a system unrelated to the cluster, there are cluster management applications such as Cluster Administrator and cluster-aware client applications. All of these components use the Cluster Service through the Cluster API.