借助Couchbase Enterprise 2.5的“机架感知”(Rack Awareness),build议副本数据将自动保存在单独的AWS可用区中,而不需要XDCR或其他configuration。
机架感知复制如何与XDCR进行比较:
XDCR在任何方面都有所不同,它在带宽上是否更好,它是否比较变化不同,协议是不同的?
AWS最佳实践是:
RZA和XDCR是为了不同的目的。 RZA是Couchbase中集群内复制的一部分,XDCR是集群间复制。
RZA所做的就是将集群的副本vBuckets(碎片)保存在与其主要vBucket不同的服务器组中。 这不是自动的。 您必须指定服务器组,将节点移动或创build到这些组中,然后重新平衡群集以围绕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目的,单向或双向,双向您可以使用双向复制来运行它们的主动/主动,但您必须敏锐地意识到今天如何解决冲突,并确保您的应用程序符合您的要求,并确保解决冲突符合您的使用案例。 这种冲突解决scheme正在积极地为将来的Couchbase版本扩展select而努力,但是到目前为止,解决冲突的方式只有一种。 我也看到有人在同一地区使用XDCR和两个集群。 一个是积极的,另一个是备份是从什么,报告,或其他什么。 您也可以使用XDCR与ElasticSearch或Solr集成,但这是一个不同的讨论。 我见过的XDCR最常见的用途是数据中心之间的灾难恢复复制。 您将需要购买企业许可证IMO,以便您可以使用encryption的XDCR,并configuration您的AWS VPC以允许正确地在区域之间路由stream量。 然后,像这样的事情,监视,以确保这些链接总是起来等等等等,但这不是唯一的Couchbase。