首批通过分布式安全可靠测评,为关键业务系统打造
容灾部署方案
更新时间:2026-04-07 20:57:20
为满足不同客户和业务场景多样的容灾需求,OceanBase 数据库提供了多种高可用解决方案:
基于 Paxos 一致性协议的多副本高可用解决方案
该方案基于Paxos一致性协议实现,通常在同一个集群内通过多副本(例如,三副本或五副本)提供容灾能力。
在少数派副本不可用(三副本集群允许一个副本不可用,五副本集群允许两个副本不可用)时,数据库可以自动执行容灾切换并恢复服务,保证不丢数据(RPO = 0),故障恢复时间在 8 秒以内(RTO < 8s)。
基于日志异步复制的物理备库解决方案
该方案类似于传统数据库的主备复制解决方案。两个或多个集群之间,允许以租户为粒度,通过异步复制 Redo 日志来构建租户级别的主备关系,提供计划内无损切换和故障时有损切换两种容灾能力。
该方案主要用于满足双机房或双地域场景下的容灾需求。主租户提供读写能力,备租户提供只读和容灾能力。在执行计划内无损切换时,主租户和备租户互换角色,不丢数据(RPO = 0),切换时间为秒级(RTO 为秒级)。
当主租户所在的集群出现故障后,可以执行有损切换,将备租户切换为主租户。此时不能保证不丢数据,RPO 大于 0,切换时间为秒级(RTO 为秒级)。
基于仲裁的高可用解决方案
该方案是 OceanBase V4.1.0 版本新提供的一种高可用解决方案。该方案通过引入一个独立的仲裁服务,允许通过更少副本数提供良好的容灾能力。
这里以两个全功能副本和一个仲裁服务的部署架构为例:在一个全功能副本出现故障时,集群会在仲裁服务参与的情况下,自动执行容灾降级,保证数据不丢(RPO = 0),切换时间为秒级(RTO 为秒级);在故障节点服务恢复后,集群会自动探测并执行服务升级,恢复故障前的可用能力。在此过程中,仲裁服务仅参与同步和持久化少量的元信息,资源开销(CPU/内存/网络等)极小。
上述三种高可用解决方案可以组合使用。在集群任意节点(包括但不限于计算、存储)发生任意故障(包括但不限于网络、磁盘)的情况下,数据库自动切换并保证不丢数据(RPO=0,RTO<=8秒)。OceanBase 数据库推荐如下多种部署模式,用户可根据对机房配置以及性能和可用性的需求进行灵活选择。
| 部署方案 | 容灾能力 | RTO | RPO |
|---|---|---|---|
| 同机房三副本 | (少数派副本故障时)机器级无损容灾/机架级无损容灾 | 8s 内 | 0 |
| 同城双机房物理备库 | (主机房故障时)机房级有损容灾 | 秒级 | 大于 0 |
| 同城三机房三副本 | (少数派副本故障时)机房级无损容灾 | 8s 内 | 0 |
| 两地两中心物理备库 | (地域故障时)有损容灾 | 秒级 | 大于 0 |
| 两地三中心加物理备库 | (机房故障时)无损容灾/(地域故障时)有损容灾 | 秒级 | 机房故障时,RPO = 0;地域故障时,RPO 大于 0 |
| 三地三中心五副本 | (地域故障时)无损容灾 | 8s 内 | 0 |
| 三地五中心五副本 | (地域故障时)无损容灾 | 8s 内 | 0 |
同机房三副本
如果只有一个机房,可以部署三副本或更多副本,来达到机器级无损容灾。当单台 Server 或少数派 Server 宕机情况下,不影响业务服务,不丢数据。如果一个机房内有多个机架,可以为每个机架部署一个 Zone,从而达到机架级无损容灾。
同城双机房物理备库
如果同城只有双机房,又想达到机房级容灾能力,可以采用物理备库,每个机房部署一个集群。当任何一个机房不可用时,另一个机房可以接管业务服务。如果备机房不可用,此时业务数据不受影响,可以持续提供服务;如果主机房不可用,备库需要激活成新主库,接管业务服务,由于备库不能保证同步所有数据,因此可能会丢失数据。
同城三机房三副本
如果同城具备三机房条件,还可以为每个机房部署一个 Zone,从而达到机房级无损容灾能力。任何一个机房不可用时,可以利用剩下的两个机房继续提供服务,不丢失数据。这种部署架构不依赖物理备库,不过不具备地域级容灾能力。
两地两中心物理备库
用户希望达到地域级容灾,但是每个地域只有一个机房时,可以采用物理备库架构,选择一个地域作为主地域,部署主库,另一个地域部署备库。当备地域不可用时,不影响主地域的业务服务;当主地域不可用时,备库可以激活为新主库继续提供服务,这种情况下可能会丢失业务数据。
更进一步,用户可以利用两地两中心实现双活,部署两套物理备库,两个地域互为主备。这样可以更加高效利用资源,并且达到更高的容灾能力。
两地三中心加物理备库
如果用户在两个不同的地域共有三个机房,可以使用 “两地三中心加物理备库” 的方案提供地域级容灾能力。
我们将有两个机房的地域称为主地域,业务在主地域两个机房里各部署一个或两个全功能副本,数据库的读写服务在主地域提供。另外一个地域机房中部署仲裁服务和物理备库,提供容灾服务。
在主地域一个机房出现故障时,仲裁方案会自动执行降级,确保业务在秒级恢复,同时不丢失数据。在主地域两个机房同时出现故障时,需要将物理备库激活成主库提供服务,此时业务有损,RPO > 0。
三地三中心五副本
为了支持地域级无损容灾,通过 Paxos 协议的原理可以证明,至少需要 3 个地域。该方案包含三个城市,每个城市一个机房,前两个城市的机房各有两个副本,第三个城市的机房只有一个副本。和两地三中心的不同点在于,每次执行事务至少需要同步到两个城市,需要业务容忍异地复制的延时。
三地五中心五副本
与三地三中心五副本类似,不同点在于,三地五中心会把每个副本部署到不同的机房,进一步强化机房容灾能力。