基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
跨云双活实现高可用
更新时间:2026-06-23 19:46:25
OB Cloud 云数据库通过跨云双活架构实现高可用性,确保在面对各种故障时仍能持续提供稳定的服务。
原理
OB Cloud 云数据库支持在不同的云服务商之间部署相同的数据和服务。每个云环境都处于活跃状态,同时处理业务请求,并通过实时数据同步技术保持数据的一致性。
当其中一个云环境发生故障时,另一个云环境可以无缝接管所有业务流量,确保服务不中断。这种架构不仅提高了系统的容错能力,还减少了对单一云服务商的依赖,增强了整体系统的可靠性和稳定性。
跨云双活复制功能从整体功能上可以分为两大功能,分别为跨云实现以及双活链路构建。
实现方案
跨云架构实现方案
在跨云的场景下,不同云之间需要通过特有的网络方案(包括但不限于专线、公网、云企业网等)实现两朵云之间的网络互通。由此带来网络建设的复杂性、带宽与延迟对性能的影响、网络传输的数据安全,都直接影响了数据同步的性能、安全性,进而影响客户业务。OB Cloud 云数据库对上述问题进行了的优化,具体实现方案如下。

跨云网络网关服务化:
OB Cloud 云数据库底层实现了跨云的网关服务,由 OB Cloud 云数据库负责跨云的网络建设,您仅需要选择需要的源端及目标端的云厂商与地域,数据迁移任务可以根据云厂商及地域的属性自动判断需要的网络服务,在使用层面,您无需感知跨云网络的建设、监控、运维等工作,一切都由 OB Cloud 云数据库后台自动完成,不影响您的任何业务网络。
传输组件部署本地化:
跨云网络的流量及延迟,对数据传输的性能有着直接的影响。OB Cloud 云数据库的跨云传输针对这个特点,调整了底层组件部署架构,将数据日志解析组件部署在源端云厂商及地域,数据写入组件部署在目标端地域。这样通过源端的增量数据解析组件,即可过滤掉大部分不需要的同步数据,同时写入端靠近目标端可以避免网络延迟带来的数据写入性能低的问题。
数据传输安全加密:
在安全性方面,不同地域的跨云网关间通过使用伽罗瓦/计数器模式 (GCM) 的高级加密标准 (AES) 和 128 位密钥 (AES-128-GCM) 在网络层实现加密。这也是一种广泛使用的保证传输安全的加密标准,被谷歌云、AWS 等主流云厂商所使用。网关之间的会话密钥通过 OMS 私有网络间安全的控制隧道进行传输,会话密钥会定期进行轮替。从而保证跨云网络传输的数据安全。
双活链路方案实现
在数据库容灾需求里面,除了传统的备份恢复、主备实例之外,目前很多您基于业务极致连续性以及性能考虑,需要建设双活方案,双活建设要求两个数据中心同时承担业务读写能力,为了保障两边数据一致性,就要求实现实时双向同步。目前业界的数据同步产品大多可以支持单向同步,而 OB Cloud 云数据库的数据链路,能够实现 MySQL、Oracle、OceanBase 数据库异构数据库之间的双向同步,通过数据防回环与冲突检测能力能够保证双活链路的稳定性及数据一致性。

数据防回环
通过上图可以得知,您在某一端写入业务数据,会记录数据库日志,被数据同步解析到从而写入对端,而数据同步写入对端后同时也会记录数据库日志,反向也会被数据同步解析到从而回写,造成一个无限的回环问题。
针对于数据回环问题,OB Cloud 云数据库根据数据库不同有两种实现方式。针对于 MySQL、Oracle 数据库,通过在增量数据写入的同时记录事务表,增量解析组件解析日志之前同时获取事务表内的数据,如果解析到的数据在事务表内,则认为是数据同步的产生的数据,默认抛弃相关数据,否则则同步相关数据;针对于 OceanBase 数据库,根据数据写入组件客户端与服务端建立连接后指定 thread_id,所有增量写入组件的数据都携带特定的 thread_id,增量解析组件在解析数据时,默认抛弃增量组件 thread_id 产生的数据,从而实现数据防回环复制。
冲突检测
通常在数据双活的业务中,我们要求业务避免同时在两个数据中心对同一条数据(同一个唯一键)进行写入或更新操作,因为这样,双活复制链路会认为都是正常的业务数据往对端同步,从而产生可能的数据更新丢失的问题。然而,实际业务处理过程中,难免会因为漏洞等原因产生此类数据,OB Cloud 云数据库的双活复制链路为此专门的能力解决此类问题。
在双活复制链路运行过程中,可以实时检测冲突数据,根据您在配置链路时的设置(覆盖目标端数据、忽略冲突,保留目标端数据)进行特殊处理,您可以根据业务实际情况,选择合适的数据处理方式,从而保证业务数据最终的一致性。同时 OB Cloud 云数据库将保留冲突数据记录,支持您下载查看,以帮忙您分析定位产生冲突数据的原因,从而实现业务逻辑上的最终优化。