分布式系统里有个经典场景:一群人开会做决定,有人迟到、有人掉线、还有人临时改口——但系统必须给出一个不会反悔的最终答案。Paxos协议家族解决的就是这个问题。图灵奖得主Leslie Lamport提出的核心规则很简单:任何决定必须经多数参与者认可才算数。
为什么是多数?数学上很干净:任意两个多数派至少共享一名成员。这意味着不可能出现"一半人信A、另一半信B"的死锁——数据库领域最可怕的"脑裂"(split-brain)场景,即两个节点同时自认主节点并写入冲突数据,由此被根绝。
![]()
OceanBase把这套逻辑用在数据持久化上。数据库变更先转为redo/commit log条目,必须在多数副本(含主节点)上持久化后,事务才能向客户端返回"提交成功"。单台机器磁盘损坏、甚至主节点所在机器宕机,只要多数副本可达,变更已获投票并落盘于多台机器——这就是OceanBase能在多种容灾配置下追求RPO=0的工程基础:可靠性不靠"某台机器特殊",而靠"多数派即真理"。
这里有个关键澄清:副本并非对每个行变更单独跑一轮Paxos。OceanBase的共识层工作在日志流(log stream)层面——这是一个内部抽象,将多个分区(数据分片)的有序日志记录合并。把多分区更新批量塞进单一有序流,一次Multi-Paxos交互就能同步多个分区,减少网络往返,提升端到端效率。
架构上,OceanBase通常跨多个Zone部署(类似公有云的可用区,同一地域内的独立故障域)。每个日志流有一个主副本和若干从副本,主副本执行写入并驱动复制。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.