Difference beetween LCB_TYPE_CLUSTER and LCB_TYPE_BUCKET

I would not recommend using LCB_TYPE_CLUSTER as it is nothing more than a glorified HTTP client. There are some benefits using it though, especially in C, for example not having to deal with another C API or depend on another C HTTP client.

See https://github.com/couchbase/libcouchbase/blob/master/tests/iotests/t_views.cc#L58 for an example of using LCB_TYPE_CLUSTER. In short the CLUSTER type does not connect to a bucket via memcached, and does not parse the vBucket configuration. It merely connects via HTTP and discovers other nodes in the cluster.

I’m curious what happens when you use the administrative username/password, though

Finally, since you are developing a new code (and a new client) bear in mind that the current API will be deprecated in the next release (it will still work fine and I’m not adding compiler warnings just yet). Refer to the “api3” API instead. http://docs.couchbase.com/sdk-api/couchbase-c-client-2.5.5/group__lcb-public-api3.html