GaussDB 双集群容灾方案

68 阅读4分钟

GaussDB 双集群容灾方案,是GaussDB提供的一种新架构和部署方式的容灾技术。在已有的容灾方案中,多采用单集群多副本的模式进行跨AZ部署,无法做到故障隔离,类似于集群管理组件的故障或其他区域性的故障将导致整个集群服务不可用;对于传统的基于网络的日志同步方式,数据库主备节点间地理距离的增大将导致传输时延的大幅度增加,直接影响到生产服务的性能。同时,金融、银行业对数据安全有着较高的要求,需要最大限度地保证数据的安全性以及服务的可用性。因此,GaussDB提供了支持RPO=0的数据库双集群容灾方案,即主集群在出现故障的情况下,备集群还具备继续提供服务的能力,当发生自然或人为灾难时,保护数据并快速进行恢复,对数据丢失零容忍。

数据中心架构 在这里插入图片描述 双集群部署方式,即每个数据中心分别部署一套独立的GaussDB数据库集群,其中一个数据库集群作为生产集群,提供读和写服务,另一个集群作为灾备集群。

每个数据中心都分别有一个独立的Region和AZ,用来部署GaussDB数据库集群。全量build同步通过云内跨Region跨VPC的BMS之间的网络承载,增量日志同步通过Dorado之间的主备复制承载。

主集群的Redo日志通过网络同步到备集群的存储设备中,主集群的备节点从存储设备中读取Redo日志并进行回放,备集群的备节点从所在分片的存储设备中读取Redo日志并进行回放。当数据库主节点写入的日志同步到备集群的存储设备之后,主节点的事务才会被提交,从而确保了集群切换RPO=0的性能指标。

数据存储不使用本地盘,而是采用Dorado(全闪存共享存储阵列),即每个GaussDB数据库集群都配置一套独立的Dorado作为存储;两套Dorado之间采用主备同步复制,数据复制的模式支持最大保护模式和最大可用模式。

数据中心内部实例级故障时,RPO=0、RTO<=30秒;跨数据中心集群间容灾时,RPO=0、RTO<=60秒。

在同城双集群容灾的基础上,可以和异地集群组成跨Region容灾,即增加一个异地的灾备中心,用于对同城双中心的数据备份,形成两地三中心的容灾解决方案。

核心优势

金融级高可用:支持RPO=0 、RTO<60s的容灾切换,保障业务的安全性和可靠性。当主集群发生故障时,备集群能够数据无损地快速完成切换,替代主集群继续提供生产服务。

高性能:第一,采用物理日志同步相对于逻辑日志同步性能可提升10倍;第二,通过Dorado存储硬件实现集群间日志的快速同步,利用Dorado固有网络协议(密集波分),降低网络时延一倍以上,同时利用Dorado存储的缓存能力,日志写入即刻持久化,降低了事务提交时延。

高可靠:数据安全实现双保险,一方面数据库内核的多副本保障了故障自动切换和恢复,不中断业务;另一方面,存储内核保障了磁盘亚健康、故障容错、硬件自愈等能力。

架构先进性:通过数据库内部计算与存储分离,将存储管理放到下层共享存储中,从而解决数据同步带来的延时问题,并同时增加了计算能力的横向扩展性。

集群隔离:数据库集群间解耦,故障域隔离从而避免全局性的网络故障;集群间版本隔离,避免Bug污染,能够快速回切;集群间资源隔离,按照Region进行资源管理和调度,方便数据库管理员对数据库系统资源使用进行规范和约束。

双集群容灾方案进一步提升了GaussDB的高可用能力,特别是针对性能和稳定性有更高要求的金融核心业务场景,提供了安全可靠的数据库服务,使数据库无惧灾难,为用户的生产业务保驾护航。