Let me explain how the Couchbase SDKs connect to the cluster. When the application starts up it will bootstrap against one node using the configure provide to the SDK. Once it has connected successful to the node then it will pull the cluster map directly from that node, from that point on the SDK will only get the cluster map direct from the nodes in cluster. When the application server restarts the SDK will go through the bootstrap process again.
There are a few different options for bootstrapping:
Every client can bootstrap using a list of nodes. If one node is unavailable it will try and boot strap against the next node in the list. This does mean that the SDK config has to be kept up to date if all the nodes in the bootstrap list were to be removed from the cluster. For more information see: Connecting to a Bucket
The other option is to use DNS SRV records. In this case the SRV record will contain a list of nodes. The SDK will read the DNS SRV record and use that as the bootstrap list. This means that the SRV record can be updated outside of the SDK config. For more information see: Using DNS SRV records
Given the information you have provided it sounds like option 2 is what you’re looking for.
Please let me know if you have any more questions.