【问题标题】:Couchbase XDCR and haproxyCouchbase XDCR 和 haproxy
【发布时间】:2014-04-07 20:56:31
【问题描述】:

我打算设置一个包含两个集群的 Couchbase 系统:主集群处于活动状态,另一个用于备份(使用 XDCR 进行复制)。当活动集群关闭时,在此 Couchbase 系统前面使用 haproxy 可以(手动)从活动集群切换到备份集群。

在测试之前,我想对这个拓扑提出一些建议。这有什么问题吗。生产环境能流畅运行吗???

我认为我不能在此拓扑中使用 vbucket 感知客户端。因为客户端只知道 haproxy,所以我无法将客户端的直接请求发送到 couchbase 服务器(具有特定文档的 vbucket)。是这样吗???

【问题讨论】:

    标签: couchbase


    【解决方案1】:

    从您的情况来看,这听起来像是开销。为什么要保留“备用”集群作为备份?

    相反,您可以将所有四个 couchbase 服务器实例作为一个集群(每个实例在其自己的盒子上运行)......因此您将充分利用 vBucket 架构,它将是本地管理的。如果其中一个实例关闭,您将不会丢失数据,因为启用的复制将在其他节点中具有镜像副本。

    我们在生产中使用此设置没有任何问题。我们有时会关闭其中一个实例进行维护,而集群的其余部分仍在运行,并且对 Couchbase 客户端完全透明,例如没有休息时间!

    在我看来,XDCR 对于地理位置分散的位置很有意义(因此您将一个集群保留在美洲,另一个集群保留在 EMEA 等)。如果您的所有实例都在同一个位置,那么 Couchbase 集群技术将提供高可用性 (HA),并且已经内置了故障转移支持。

    【讨论】:

    • 我知道 Couchbase 集群已经内置 HA,但我担心整个集群崩溃,我必须整体重建(长时间停机 - 我在 membase 集群旧版本中遇到了这种情况)。
    • “整个集群关闭” - 如果它包含安装在单独硬件上的许多实例...我看不到它发生...除非现场发生火灾/洪水。如果您在同一场所有备份集群 - 对 DR 没有用处。
    • 我们正在寻找一个类似的解决方案,其中两个集群位于地理上不同的位置,但我们希望“活动”集群的位置对客户端应用程序是不可知的。
    • @AndrewBickerton 查看最新的 XDCR 插件过滤(期待已久的功能现已推出)。您可以决定将存储桶中的哪些文档复制到 DR 站点。 docs.couchbase.com/server/4.0/xdcr/xdcr-filtering-setup.html
    • 谢谢,不幸的是,过滤并不能解决如何通过无缝故障转移来管理 2 个 couchbase 集群的问题 :-( (虽然有用)
    猜你喜欢
    • 2016-09-12
    • 1970-01-01
    • 2013-01-16
    • 2015-07-27
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 2019-05-04
    • 2015-12-29
    相关资源
    最近更新 更多