Connectivity

Couchbase Server handles client to cluster, node to node, and cluster to cluster communications. It also provides connectivity to a number of third-party products.

Client to Cluster

Client applications communicate with a Couchbase Server-cluster through a set of server-defined access-points, each of which provides ports for both clear and encrypted communication.

The principal access-points for clients are as follows:

Type Port API Description

REST

8091, 18091 (SSL)

REST API administrative operations

Direct connection to a single node in the cluster, to perform administrative operations, monitoring, and alerting; by means of the REST API.

ONLINE

11210, 11207 (SSL)

Core Data operations

Stateful connections from a client to cluster-nodes running the Data Service for CRUD operations.

REST

8093, 18093 (SSL)

Query with N1QL API

Load-balanced connection across cluster-nodes running the Query Service for java-sdk::n1ql-query.adoc queries.

REST

8094, 18094 (SSL)

Search Service

Load-balanced connections across cluster-nodes running the Search Service for Full Text Search queries.

REST

8095, 18095 (SSL)

Analytics Service

Load-balanced connections across cluster-nodes running the Analytics Service.

REST

8092, 18092 (SSL)

Query with View and Spatial View API

Load-balanced connection across cluster-nodes running the Data Service for View queries.

Note that the above table lists only a subset of Couchbase Server network ports. For a complete list, see Network and Firewall Requirements.

Node to Node

Cluster-nodes intercommunicate in order to replicate data, maintain indexes, check the health of nodes, communicate changes to the cluster-configuration, and more. See Cluster Manager, for detailed information.

Cluster to Cluster

Couchbase Server-clusters communicate with one another by means of Cross Datacenter Replication (XDCR). See Availability, for detailed information.

Cluster to Connector

Couchbase Server-clusters communicate with third party products; by means of connectors. Connectors are provided for Elasticsearch, Hadoop, Kafka, Spark, and Talend. Drivers are provided for ODBC and JDBC. See Connector Guides, for detailed information.

Connectivity Phases

Client connectivity is established in three phases: Authentication and Authorization, Discovery, and Service Connection.

  1. Authentication and Authorization: The client authenticates with username and password. If these are associated with a Couchbase-Server defined role, itself associated with appropriate privileges on the resource access to which is being requested, the client is authorized, and access is granted. Otherwise, access is denied. See Authorization for details.

  2. Discovery: A cluster-map is returned to the client. This indicates the current cluster-topology; including the list of nodes, the data-distribution across the nodes, and the service-distribution accross the nodes.

  3. Service Connection: Once in possession of the cluster-map, the client determines the connections needed to establish and perform service-level operations. Additional authorizations may be required, depending on the operations being attempted. Note that in the event of topology-changes, a service connection-request may result in an exception; in which case discovery must be re-run, and operations retried with new connections.