跨数据中心的

时间:2018-03-30 15:33:27

标签: percona-xtradb-cluster

我对PXC很新鲜。我想知道我是否可以跨三个数据中心部署集群。例如:

  • 数据中心A
  • 中的节点1
  • 数据中心B
  • 中的节点2
  • 数据中心C
  • 中的节点3

数据中心1与数据中心2之间的延迟较低,因为它们位于同一城市。数据中心3远离他们。

  • AB都提供了写入和阅读
  • C只有完整备份并投票给AB,以决定哪一个是永不提供写入或读取的捐赠者。

  • AB

  • 同步
  • CAB异步。

捐赠者只有AB。如何以这种方式配置它?

1 个答案:

答案 0 :(得分:0)

您可以在这样的3个数据中心部署PXC。但是,您无法以这种方式配置Percona XtraDB集群(或通用Galera)行为。

群集的所有成员一起工作。所有WRITE事务都将发送到所有节点,并且必须由所有节点确认(即:认证)。您的群集可以写入的最快速度是最慢节点的RTT,在本例中为C

您可以将AB配置为彼此的捐赠者,以防其中一个发生故障。 (my.cnf:wsrep-sst-donor

您可能会混淆某些条款。 “捐赠者”是节点将数据副本(IST / SST)发送到另一个节点的状态。如果您的群集处于Primary状态,则不会发生“捐赠”。你在考虑领导人选举吗?这在PXC中不存在。只存在简单的法定人数。任何节点都可以读取,任何节点都可以随时写入;除非您在MySQL中手动设置read_only=1,否则对此没有任何限制。

您可以做的是使用DC1: A, BDC2: C部署3节点PXC,并在DC3: D中使用MySQL异步复制作为异地备份。您必须选择A,B,C中的一个作为异步复制的“主”(确保设置GTID)。在此设置中,D不会成为PXC的一部分,也不会参与认证而不参与法定人数;它只能作为备份。

3-node PXC with ASYNC-Slave