Couchbase Enterprise 2.5:AWS、机架感知和 XDCR

Couchbase Enterprise 2.5:AWS、机架感知和 XDCR

Couchbase Enterprise 2.5 配备了 Rack Awareness,这意味着副本数据将自动保存在单独的 AWS 可用区域,而无需 XDCR 或额外配置。

Rack Awareness 复制与 XDCR 相比如何:

XDCR 在任何方面是否不同,它的带宽是否更好,它是否以不同的方式比较变化,协议是否不同?

哪一个是 AWS 最佳实践:

  • 使用可用区域作为服务器组来感知机架?
  • 使用 XDCR 连接不同可用区域中的不同集群?

答案1

RZA 和 XDCR 的用途不同。RZA 是 Couchbase 中集群内复制的一部分,而 XDCR 用于集群间复制。

RZA 所做的只是将集群的副本 vBuckets(分片)保存在与其主 vBuckets 不同的服务器组中。它不是自动的。您必须指定服务器组,将节点移动或创建到这些组中,然后重新平衡集群以移动 vBuckets,然后随着时间的推移在集群中移动节点时维护该列表。对于多个 AWS 区域,如果您在 US-West-2 中的集群中有六个节点,则每个 AZ 中有两个节点。您将在 Couchbase 中拥有三个组,每个组有两个节点,每个组代表一个 AZ。一旦您重新平衡,组 1 中节点上的活动 vBuckets 的对应副本 vBuckets 将始终位于组 2 或组 3 中,依此类推。文档中的图片在这里很适合参考。http://docs.couchbase.com/admin/admin/Concepts/concept-rack-awareness.html因此,RZA 只是与标准 Couchbase 集群内复制配合使用,以实现 HA 和容错。

另一方面,XDCR 意味着您有两个完全独立的集群,这就是我说集群间复制的原因。因此,您可以使用 XDCR 从区域 1 中的集群 A 复制到区域 2 中的集群 B,以进行单向或双向复制,以实现 DR 目的。您可以使用双向复制以主动/主动的方式运行它们,但您必须敏锐地意识到当今如何解决冲突,并确保在编写应用程序时考虑到这一点,并确保冲突解决适合您的用例。冲突解决正在积极地进行,以扩展 Couchbase 未来版本的选项,但目前只有一种冲突解决方式。我还看到有人在同一区域的两个集群中使用 XDCR。一个是活动的,另一个是从中完成备份、报告或其他什么的。您还可以使用 XDCR 与 ElasticSearch 或 Solr 集成,但这是另一个讨论。我见过的 XDCR 最常见的用途是用于数据中心之间的灾难恢复复制。我认为您需要购买企业许可证,这样您就可以使用加密的 XDCR,并配置您的 AWS VPC,以允许流量在区域之间正确路由。然后像任何类似的事情一样,监控以确保这些链接始终处于打开状态,等等,但这并不是 Couchbase 独有的。

相关内容