We have been using Couchbase 1.7 / 1.8 for years as a caching solution with our software. We are Windows / .net. I recently built a new Couchbase 4.1 server and decided to make a cluster this time which seems to be setup just fine. I have plenty of experience with load balancing and Microsoft clustering, but I dont understand what I need to do for couchbase… I searched and found no help.
Our application is designed with configuration settings to point to the couchbase server and bucket name, as it’s designed to be installed in different environments. I’m not sure what to put for the server name setting.
When I have two clustered nodes, where do I point my application?
How do I get a shared cluster address to point at so if a node goes down, everything still works?
Do I need a Microsoft Cluster?
Do I set this up through my load balancer?
What is the recommended setup?
I read (somewhere in these forums) couchbase is not designed to work through a load balancer?
Point your application at both. Couchbase automatically distributes the data across the nodes.
No need to have a shared cluster address, as the client library from the SDK will automatically retrieve the cluster topology and do the right thing from one of the nodes.
You do not need a Microsoft cluster. You do not need a load balancer. The library will automatically route the request to the services from the cluster. Some of these services are HTTP, some are memcached binary protocol.
As far as deployment is concerned, you’ll probably want to deploy at least three nodes if you can. That allows you to take advantage of auto-failover. There’s lots of good information on Planning for Production in the documentation.