概述:
利用主从复制+GTID的特性实现异地数据同步与读写分离。下面是实现细节与不同于常规方案的特性。
实现背景
是为了将分属两个不同集群的实例,建立同步关系。备实例会自动选择主实例中延迟较小的备机建立同步,当该主实例备机发生故障时,会自动与另一个备机建立同步关系。DCN同步建立后,主实例可写,备实例只读。这可作为一种异地容灾方案,也可作为一种异地读写方案。
DCN技术分为两步: 第一部分: 在主机房一主两备中,master提交事务后,写入binlog,通过mysql主从复制协议,master机将binlog传输到任意slave机,然后slave机回放relaylog,最终完成主从复制。第二部分:如图1,主备机房完成建立DCN同步后,备机房的master机会从主机房中主备延迟最小的slave机上的拉取binlog,随后回放binlog。
第二部分: 如果主机房当前已经建立DCN同步的slave机器故障了,会自动与另一个备机建立同步关系如图2
主从同步的方式实现异地容灾方案比较成熟,但仍需要解决一些核心问题。
由于存在“级联复制”的情况,那么如何准备的计算延迟?
如果实例需要进行扩容时,同