同一主机中的 Couchbase 双集群。 (使用 XDCR)

Couchbase dual clusters in the same hosts. (using XDCR)

我认为,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并处理应用请求。

可能吗?

感谢阅读,对不起我的英语不好。

如果没有某种 VM 管理程序或容器(例如 Docker),这可能不是一个好主意。如果可以的话,Couchbase 真的应该是一个无共享架构。如果你把它放在没有管理程序或容器的相同节点上,那么它肯定会争夺服务器资源(RAM、CPU、磁盘、网络),但没有智能的方法来管理它们,因为 Couchbase 不是为 运行 就像你提议的那样。话虽这么说,出于 HA 目的,您最好购买企业许可证并获得它具有的 Rack/Zone Awareness (RZA) 功能,并且只有一个集群。如果你打算使用 XDCR,你真的希望有单独的服务器或实例要复制到,如果它们在同一个 VM 集群上,它真的可能无法实现你想要实现的目标。

RZA 功能允许您将群集中的节点指定为服务器组中的节点。因此,如果您在云部署中有服务器机架、VM 主机或区域,您可以在 Couchbase 中指定它们,它会确保将副本数据从一个服务器组中的节点分发到另一组中的节点。然后,您可能会丢失整个机架、区域或 vmhost,但仍然拥有所有数据,并且可以快速备份和 运行ning。有关详细信息,请访问 Couchbase docs on RZA.