{"id":13009,"date":"2022-04-06T15:55:45","date_gmt":"2022-04-06T22:55:45","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=13009"},"modified":"2025-06-13T23:18:12","modified_gmt":"2025-06-14T06:18:12","slug":"combine-clusters-to-achieve-high-availability","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/","title":{"rendered":"Combine Clusters to Achieve High Availability"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Whether on-premises or on the public cloud, Couchbase customers have a distinct set of needs: ACID transactions, high durable writes, high availability and high performance. Couchbase&#8217;s architecture helps meet these needs while also reducing pain for DevOps and DBAs (perhaps to have a coffee break or a relaxing night off!). In particular, the event-driven and asynchronous design supports one active copy and up to three replicas and automatic failover within a region. Likewise, <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/groups.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Server Groups<\/span><\/a><span style=\"font-weight: 400\"> is a built-in feature that can be broadly used at the rack level or even the availability zone level in a public cloud to provide high availability, persistent writes and high performance. All of these features combine to give flexibility and resilience out of the box.<\/span><\/p>\n<h2>How to combine clusters and leverage server groups<\/h2>\n<p><span style=\"font-weight: 400\">This blog shows you how to use server groups to combine clusters into one auto-sharded database for a region split into availability zones. Combining clusters into three distinct server groups within a cluster has several advantages:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Distributing workloads across more nodes helps handle more traffic and larger data capacity.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Allows you to meet the availability zone model of failover redundancy and prevents split-brain issues.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Leveraging Couchbase&#8217;s built-in auto-failover capability, offline server groups or availability zones will be failed over automatically.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Combining clusters means one active copy of data or documents with multi-document transactions. If there are multiple writes and reads to the same document\/documents from multiple clients, there&#8217;s no need for conflict resolution. If necessary, writes and reads can be consistent with the replica and the persistent layer and ensure ACID transactions.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">I recently had the opportunity to help a customer move from two clusters with two applications interacting with separate clusters into one highly available but with durable writes to both replica and disk. The challenge was that each application wrote to one active copy within the cluster with write guarantees, illustrated below.\u00a0<\/span><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151040.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-13010\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151040-1024x590.png\" alt=\"Multiple Couchbase clusters with one active copy\" width=\"900\" height=\"519\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151040-1024x590.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151040-300x173.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151040-768x443.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151040-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151040-1320x761.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151040.png 1325w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">By write guarantees, I mean each application would write to the active copy, lock the data and wait for the replica and disk to be written <\/span><i><span style=\"font-weight: 400\">before <\/span><\/i><span style=\"font-weight: 400\">the other application could read\/write data.<\/span><span style=\"font-weight: 400\"> Does that sound complicated? It isn&#8217;t really when using Couchbase and server groups.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">The customer wanted a single cluster with auto-failover using the public cloud in one region and with three availability zones, as shown here:<\/span><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151200.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-13011\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151200-1024x549.png\" alt=\"Public cloud region combined cluster with high availability\" width=\"900\" height=\"483\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151200-1024x549.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151200-300x161.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151200-768x412.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151200-1536x824.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151200-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151200-1320x708.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151200.png 1575w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<h2><span style=\"font-weight: 400\">Benefits of Couchbase Server Groups<\/span><\/h2>\n<p><span style=\"font-weight: 400\">The topology above has the following supported features:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Auto-Failover capability is available.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">One active copy of data and up to three replicas is possible depending on the number of nodes in the cluster.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Balanced, automatic distribution of active and replica copies across the entire cluster.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Indexes and replica indexes are balanced across availability zones.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Let&#8217;s see how each of these features is supported by Couchbase.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Public cloud regions (or even on-premises deployments) require auto-failover. Typically, with on-premises deployments, customers want to spread their machines across multiple racks to prevent data loss from a rack failure such as a power supply failure.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Couchbase <\/span><i><span style=\"font-weight: 400\">server groups <\/span><\/i><span style=\"font-weight: 400\">is a feature in which active and replica copies of data are evenly distributed across server groups. But the active data doesn&#8217;t reside solely in one server group\/availability zone but spans <\/span><i><span style=\"font-weight: 400\">all <\/span><\/i><span style=\"font-weight: 400\">the server groups. The replica is guaranteed to reside in a different group for each active document and index.<\/span><\/p>\n<p><span style=\"font-weight: 400\">There&#8217;s no need to plan and sort data; Couchbase&#8217;s architecture does the work for you! But why three groups? This is to avoid any split-brain scenarios if a group\/availability zone should go down.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">How to create high availability, high-performance clusters<\/span><\/h2>\n<p><span style=\"font-weight: 400\">What is the recommended procedure for combining two clusters and adding a third server group? It&#8217;s actually not that complicated with Couchbase because of auto sharding, index replica management and server groups. As shown in the following figure, you use the cross datacenter replication (XDCR) capabilities from one cluster to another (e.g., Cluster 2) and then create a new Server Group.<\/span><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151434.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-13012\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151434-1024x582.png\" alt=\"Using Couchbase XDCR to replicate across data centers\" width=\"900\" height=\"512\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151434-1024x582.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151434-300x170.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151434-768x436.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151434-1536x873.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151434-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151434-1320x750.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151434.png 1591w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">Cluster 2 becomes the main cluster, and those nodes are declared as <\/span><i><span style=\"font-weight: 400\">Server Group 1<\/span><\/i><span style=\"font-weight: 400\">, which Couchbase can do at run time! <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151528.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-13013\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151528-1024x394.png\" alt=\"Assigning server groups to Couchbase cluster nodes\" width=\"900\" height=\"346\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151528-1024x394.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151528-300x116.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151528-768x296.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151528-1536x591.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151528-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151528-1320x508.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151528.png 1553w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><span style=\"font-weight: 400\">Nodes can then be added, one at a time, to create Server Group 2. If this is a public cloud deployment, they can also be declared as Availability Group 2.<\/span><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151708.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-13014\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151708-1024x900.png\" alt=\"Setting up a second server group for Couchbase high availability\" width=\"900\" height=\"791\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151708-1024x900.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151708-300x264.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151708-768x675.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151708-20x18.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151708-1320x1160.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151708.png 1362w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151804.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-13015\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151804-1024x577.png\" alt=\"Adding a third server group for Couchbase clusters\" width=\"900\" height=\"507\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151804-1024x577.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151804-300x169.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151804-768x432.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151804-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151804.png 1300w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><span style=\"font-weight: 400\">Finally, add Server Group 3 nodes into the cluster in Availability Zone 3 if in a public cloud deployment.<\/span><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151953.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-13016\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/04\/image_2022-04-06_151953-1024x588.png\" alt=\"Assigning availability zones to Couchbase clusters and nodes\" width=\"900\" height=\"517\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151953-1024x588.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151953-300x172.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151953-768x441.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151953-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/04\/image_2022-04-06_151953.png 1281w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">This can be done two ways, node by node with one at a time rebalancing after each additional node. Or using rebalancing after adding all nodes.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">If you add one node to the cluster and remove a node during the same rebalance, Couchbase Server will do a &#8220;swap rebalance,&#8221; which can be a resource-intensive operation with data and indexes moving during this process. <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/install\/upgrade-procedure-selection.html#swap-rebalance\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">See the rebalancing and upgrading docs<\/span><\/a><span style=\"font-weight: 400\"> for more info on this. It should be done with caution in a light traffic period. This can take some time, so plan accordingly.<\/span><\/p>\n<p><span style=\"font-weight: 400\">But do we need all two index and query nodes in every region? Actually, that depends on the query traffic. But if the query traffic is not heavy, it is possible to use one index query node per server group.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Couchbase goals for high availability<\/span><\/h2>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Couchbase is designed to be operational 100% of the time, i.e., no downtime.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Couchbase is a true auto-sharded database; this means that data distribution across the cluster during the operational transition is not intensive work for DevOps or Database Administrators.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The Server Groups feature was meant for Availability Zones\u2013Couchbase guarantees that active and replica copies of data and indexes are not in the same server group.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Three server groups in three availability zones enables Couchbase&#8217;s feature of auto-failover based on a preset timer. Auto-failover will declare a node or server group as failed and take the appropriate steps to create replicas and push the cluster map to the clients.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400\">Next steps and resources<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Couchbase has autonomy built into the architecture; thus movement of data and indexes is simplified and automatic. We looked at why combining clusters is a good idea and how to make them 100% fault-tolerant. Couchbase is powerful because there is no interruption of operations\u2013the cluster is operational the entire time. Applications do not need any code changes to interact with the cluster. Cluster changes are handled by the SDK&#8217;s internal cluster map, with any changes being transparent to the application itself.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Couchbase&#8217;s design team and architecture are forward-thinking to include operational autonomy and auto sharding to create the optimal fault-tolerant database for almost any use case.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">The next evolution of automation is Couchbase&#8217;s <\/span><a href=\"https:\/\/docs.couchbase.com\/operator\/current\/overview.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Autonomous Operator for Kubernetes<\/span><\/a><span style=\"font-weight: 400\"> and OpenShift. Imagine a self-healing and self-administering cluster with the help of an operator doing the work. This is the Couchbase Autonomous Operator. The process described above can all be executed with the operator and a YAML file of the new final cluster. It really is that simple.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Resources<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Read up on the following docs and pages to learn more about high availability clusters, rebalancing and more:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/groups.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Couchbase Server Group awareness docs<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/rebalance.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Couchbase Rebalancing docs<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/server\/current\/rest-api\/rest-cluster-rebalance.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Using the admin REST API to rebalance a Couchbase cluster<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Couchbase <\/span><a href=\"https:\/\/docs.couchbase.com\/operator\/current\/overview.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Autonomous Operator for Kubernetes<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/cloud.couchbase.com\/\" target=\"_blank\" rel=\"noopener\">Fully managed Couchbase Cloud NoSQL DBaaS<\/a> (easy free trial available)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Whether on-premises or on the public cloud, Couchbase customers have a distinct set of needs: ACID transactions, high durable writes, high availability and high performance. Couchbase&#8217;s architecture helps meet these needs while also reducing pain for DevOps and DBAs (perhaps [&hellip;]<\/p>\n","protected":false},"author":77552,"featured_media":11846,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1821,2225,1816,9415],"tags":[1300,2126,9662,1562,9557,9554],"ppma_author":[9217],"class_list":["post-13009","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-architecture","category-cloud","category-couchbase-server","category-xdcr","tag-cluster","tag-high-availability","tag-rebalance","tag-replication","tag-server-group","tag-sla"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Achieve High Availability by Coming Clusters | Couchbase<\/title>\n<meta name=\"description\" content=\"Want to know how to combine clusters and leverage server groups? This page shows how you can combine Couchbase to achieve high flexibility and resilience.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Combine Clusters to Achieve High Availability\" \/>\n<meta property=\"og:description\" content=\"Want to know how to combine clusters and leverage server groups? This page shows how you can combine Couchbase to achieve high flexibility and resilience.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-06T22:55:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:18:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1590\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"James Powenski, Couchbase Senior Solutions Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James Powenski, Couchbase Senior Solutions Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/\"},\"author\":{\"name\":\"james.powenski\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5b6cdf2c0ffc337f914a4eb5fff2937f\"},\"headline\":\"Combine Clusters to Achieve High Availability\",\"datePublished\":\"2022-04-06T22:55:45+00:00\",\"dateModified\":\"2025-06-14T06:18:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/\"},\"wordCount\":1200,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg\",\"keywords\":[\"Cluster\",\"High Availability\",\"rebalance\",\"replication\",\"server group\",\"SLA\"],\"articleSection\":[\"Couchbase Architecture\",\"Couchbase Capella\",\"Couchbase Server\",\"Cross Data Center Replication (XDCR)\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/\",\"name\":\"Achieve High Availability by Coming Clusters | Couchbase\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg\",\"datePublished\":\"2022-04-06T22:55:45+00:00\",\"dateModified\":\"2025-06-14T06:18:12+00:00\",\"description\":\"Want to know how to combine clusters and leverage server groups? This page shows how you can combine Couchbase to achieve high flexibility and resilience.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg\",\"width\":1590,\"height\":628,\"caption\":\"Backup Service\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Combine Clusters to Achieve High Availability\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5b6cdf2c0ffc337f914a4eb5fff2937f\",\"name\":\"james.powenski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/e45dcba7caaaefe99434ad0a75964282\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/06\/james-powenski-couchbase.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/06\/james-powenski-couchbase.jpeg\",\"caption\":\"james.powenski\"},\"description\":\"Couchbase Senior Solutions Engineer\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/james-powenski\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Achieve High Availability by Coming Clusters | Couchbase","description":"Want to know how to combine clusters and leverage server groups? This page shows how you can combine Couchbase to achieve high flexibility and resilience.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/","og_locale":"en_US","og_type":"article","og_title":"Combine Clusters to Achieve High Availability","og_description":"Want to know how to combine clusters and leverage server groups? This page shows how you can combine Couchbase to achieve high flexibility and resilience.","og_url":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/","og_site_name":"The Couchbase Blog","article_published_time":"2022-04-06T22:55:45+00:00","article_modified_time":"2025-06-14T06:18:12+00:00","og_image":[{"width":1590,"height":628,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg","type":"image\/jpeg"}],"author":"James Powenski, Couchbase Senior Solutions Engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"James Powenski, Couchbase Senior Solutions Engineer","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/"},"author":{"name":"james.powenski","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5b6cdf2c0ffc337f914a4eb5fff2937f"},"headline":"Combine Clusters to Achieve High Availability","datePublished":"2022-04-06T22:55:45+00:00","dateModified":"2025-06-14T06:18:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/"},"wordCount":1200,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg","keywords":["Cluster","High Availability","rebalance","replication","server group","SLA"],"articleSection":["Couchbase Architecture","Couchbase Capella","Couchbase Server","Cross Data Center Replication (XDCR)"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/","url":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/","name":"Achieve High Availability by Coming Clusters | Couchbase","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg","datePublished":"2022-04-06T22:55:45+00:00","dateModified":"2025-06-14T06:18:12+00:00","description":"Want to know how to combine clusters and leverage server groups? This page shows how you can combine Couchbase to achieve high flexibility and resilience.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/backing-up.jpeg","width":1590,"height":628,"caption":"Backup Service"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/combine-clusters-to-achieve-high-availability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Combine Clusters to Achieve High Availability"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5b6cdf2c0ffc337f914a4eb5fff2937f","name":"james.powenski","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/e45dcba7caaaefe99434ad0a75964282","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/06\/james-powenski-couchbase.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/06\/james-powenski-couchbase.jpeg","caption":"james.powenski"},"description":"Couchbase Senior Solutions Engineer","url":"https:\/\/www.couchbase.com\/blog\/author\/james-powenski\/"}]}},"authors":[{"term_id":9217,"user_id":77552,"is_guest":0,"slug":"james-powenski","display_name":"James Powenski, Couchbase Senior Solutions Engineer","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/06\/james-powenski-couchbase.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/06\/james-powenski-couchbase.jpeg"},"author_category":"","last_name":"Powenski","first_name":"James","job_title":"","user_url":"","description":"Couchbase Senior Solutions Engineer"}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/13009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/77552"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=13009"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/13009\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/11846"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=13009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=13009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=13009"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=13009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}