Couchbase SDKs, sometimes also referred to as client libraries, are the language-specific SDKs provided by Couchbase and third-party providers and that are installed on your web application server. A Couchbase SDK is responsible for communicating with the Couchbase Server and provides language-specific interfaces your web application can use to perform database operations.
All Couchbase SDKs automatically read and write data at the right node in a cluster. If database topology changes, the SDK responds automatically and correctly distribute read/write requests to the right cluster nodes. Similarly, if Couchbase Server experiences failover, SDKs will automatically direct requests to still-functioning nodes. SDKs are able to determine the locations of information/data, the status of nodes, and the status of the cluster using a REST API for administration. For more information about the REST API for Administration, see Couchbase Server 1.8 Manual, REST API for Administration .
The following shows a single web application server, the Couchbase SDK, and a Couchbase Server cluster. In real deployments, multiple web application servers can communicate via a Couchbase SDK to a cluster.