Reputation: 85
I think, couchbase is a great software that support high availability.
I consider that configuring couchbase dual cluster in the same hosts.
Let application using ClusterA and ClusterB connected to XDCR(DCP) with ClusterA.
Server#1 Server#2 Server#3 Server#4 ========== ========== ========== ========== ClusterA-1 ClusterA-2 ClusterA-3 ClusterA-4 ---------- ---------- ---------- ---------- ClusterB-1 ClusterB-2 ClusterB-3 ClusterB-4 ========== ========== ========== ==========
I hope that when all node of ClusterA crashed same time, then ClusterB fail-over ClusterA and processing requests for application.
Is it possible?
Thanks for reading and I'm sorry my poor english.
Upvotes: 0
Views: 43
Reputation: 4855
This would probably not be a good idea, not without some sort of VM hypervisor or container (e.g. Docker). Couchbase really is meant to be a shared nothing architecture if you can. If you put it on the same nodes without a hypervisor or container then it will definitely be fighting for server resources (RAM, CPU, Disk, Network) but with no intelligent way to manage them as Couchbase is not designed to run like you are proposing. That being said, you might be better off for HA purposes to purchase an enterprise license and get the Rack/Zone Awareness (RZA) feature that it has and only have one cluster. If you are going to use XDCR, you'd really want to have separate servers or instances to be replicating to and if they are on the same VM cluster, it really might not get you what you are trying to achieve.
The RZA feature allows you designate nodes in a cluster as being in a server group. So if you have racks of servers, VM Hosts or zones in a cloud deployment, you can designate those in Couchbase and it will make sure to distribute the replica data from the nodes in one sever group to nodes in another group. Then you could lose an entire rack, zone or vmhost and still have all your data and be back up and running quickly. For more information go to the Couchbase docs on RZA.
Upvotes: 1