我认为,couchbase是一款支持高可用性的出色软件。
我认为在同一主机中配置couchbase双群集。
让使用ClusterA和ClusterB的应用程序通过ClusterA连接到XDCR(DCP)。
Server#1 Server#2 Server#3 Server#4 ========== ========== ========== ========== ClusterA-1 ClusterA-2 ClusterA-3 ClusterA-4 ---------- ---------- ---------- ---------- ClusterB-1 ClusterB-2 ClusterB-3 ClusterB-4 ========== ========== ========== ==========
我希望当ClusterA的所有节点同时崩溃时,ClusterB会故障转移ClusterA并处理应用请求。
有可能吗?
感谢阅读,对不起,我的英语很差。
答案 0 :(得分:1)
这可能不是一个好主意,不是没有某种虚拟机管理程序或容器(例如Docker)。如果可以的话,Couchbase真的是一个无共享的架构。如果你把它放在没有虚拟机管理程序或容器的相同节点上那么它肯定会争夺服务器资源(RAM,CPU,磁盘,网络),但没有智能的方式来管理它们,因为Couchbase的设计不像你提出的那样运行。话虽如此,您可能最好还是出于HA的目的购买企业许可证并获得它拥有的Rack/Zone Awareness(RZA)功能,并且只有一个群集。如果您打算使用XDCR,您真的希望将单独的服务器或实例复制到它们,如果它们位于同一个VM群集上,它实际上可能无法满足您的目标。
RZA功能允许您将群集中的节点指定为服务器组中的节点。因此,如果您在云部署中拥有多个服务器,VM主机或区域,则可以在Couchbase中指定这些服务器,并确保将副本数据从一个服务器组中的节点分发到另一个组中的节点。然后,您可能会丢失整个机架,区域或虚拟主机,并且仍然拥有所有数据并快速备份和运行。有关更多信息,请转到Couchbase docs on RZA。