很多人第一次接触 OceanBase,都会被它"任意一个机房挂了业务无感知"的说法震惊。这背后其实是分区多副本 + Paxos 协议 + Zone 故障隔离三件套在撑腰。
- Zone(可用区):OceanBase 集群由多个 Zone 组成,一个 Zone 通常对应一个独立的故障域(机柜/机房/城市),Zone 内是若干 OBServer 节点。
- 分区多副本:数据按分区(Partition)切分,每个分区默认有 3 个副本,分散在不同的 Zone 里。其中 1 个 Leader 副本扛读写,其余 Follower 副本同步。
- Paxos 强一致:一次写事务,必须经 Paxos 协议在多数派(≥2/3)副本上落盘成功才算提交。所以即使坏掉 1 个副本,剩下的 2 个仍能凑成多数派,事务照常提交、数据零丢失。
- 容灾指标:RPO = 0(强同步不丢数据),RTO 通常 < 30 秒自动选主切换;常见部署形态有同城三机房、两地三中心,可做到城市级容灾。