前言¶
Cloudflare 在全球 330+ 数据中心 上运行大量内部服务,这些服务需要跨地域读写同一份控制面状态——例如 AI 模型实例的放置位置、数据库主节点选举信息等。这类数据必须满足两个硬约束:强一致性(所有读者看到的世界一致)和高可用性(单个机房或链路故障时仍能写入)。
2026 年 7 月,Cloudflare Research 团队发布博客,正式介绍实验性共识服务 Meerkat。它基于 2023 年 EPFL 研究者提出的 QuePaxa 共识算法,允许任意副本发起写入,不依赖 Leader 选举与超时机制。Cloudflare 称,这将是 QuePaxa 在全球规模上的首次工业级部署尝试。InfoQ 等权威媒体随后跟进报道,引发分布式系统社区广泛讨论。
本文梳理 Meerkat 的设计动机、核心架构,以及 QuePaxa 与 Raft 的本质差异,帮助读者理解这一「无 Leader 全球共识」实验的价值与边界。
控制面共识:Cloudflare 为何需要 Meerkat¶
强一致性与故障容忍¶
Cloudflare 对控制面数据系统的需求可以概括为两点:
- 线性一致性(Linearizability):客户端写入后,后续所有读操作都能看到该写入;并发读写不会出现「时光倒流」式的诡异行为。
- 多数派容错:在
2f+1个副本中容忍f个故障;只要多数副本存活且可通信,任意数据中心的客户端都能完成读写。
控制面数据写入频率通常不高,但一致性要求极严——一次错误的 Leader 选举或状态不一致,可能导致全局路由、资源调度出现连锁故障。Cloudflare 博客坦言,团队曾多次遭遇 Raft 类 Leader 不可用 引发的生产事故。
Raft 在广域网的「超时暴政」¶
Raft 是目前最主流的共识算法之一,实现清晰、生态成熟。但其权威 Leader 模型在 Cloudflare 这类跨洲际广域网中暴露出结构性问题:
- Leader 是唯一写入入口:Leader 宕机或网络劣化时,所有写入阻塞,直到新 Leader 选出。
- 超时值难以调优:广域网延迟波动剧烈——超时设短则频繁误触发选举,设长则故障恢复慢;多副本同时竞选还会互相干扰,形成「选举风暴」。
- Leader 成为性能瓶颈:Leader 过载或链路变慢时,整个集群写入吞吐下降。
Cloudflare 将这类问题称为 「tyranny of timeouts」(超时暴政)——部分同步(partially synchronous)算法依赖超时推进进度,而互联网环境恰恰无法给出稳定的超时基准。
QuePaxa:Escaping the Tyranny of Timeouts¶
算法背景¶
QuePaxa 由 Tennage、Băsescu 等研究者于 2023 年 在 SOSP 发表,论文标题为 Escaping the Tyranny of Timeouts in Consensus。与 Paxos、Raft 等部分同步算法不同,QuePaxa 面向异步网络设计,不依赖超时来推进共识,消息延迟剧烈波动时仍可继续做出决策。
核心设计要点:
- 任意副本可驱动共识:客户端可向任意副本提交请求,该副本即可为日志最新 slot 发起提案,无需等待 Leader。
- Leader 可选而非必需:QuePaxa 中存在 Leader 角色,但其优势仅在于减少往返次数(Leader 提案约 1 次 RTT,非 Leader 约 3+ 次 RTT);Leader 故障不会阻塞系统。
- 并发提案「建设性干扰」:多个副本同时提案时,副本协作选出唯一值,不会像 Raft 选举那样破坏性冲突。
- 客户端可并发联系多副本:同一提案可同时发往多个副本,提高成功率。
论文作者在 WAN 规模原型实验中报告:在 DoS 攻击、错误配置、慢 Leader 等恶劣条件下,QuePaxa 吞吐量约为 Raft 和 Multi-Paxos 的 ~10 倍,中位延迟仍保持在亚秒级。
Meerkat 架构概览¶
共识日志(Consensus Log)¶
Meerkat 的核心是一条全局复制的共识日志。日志由一系列 slot 组成:已决定的 slot 包含事件,最后一个 slot 正在决策中。关键不变量:任意两个副本对同一已决定 slot 的值必须一致。
工作流程如下:
- 开发者申请一个 Meerkat 副本集群,指定副本可部署的数据中心,Meerkat 自动放置。
- 客户端向任意副本发送应用请求(如 KV 的
get/put)。 - 副本将请求翻译为日志事件,通过 QuePaxa 分发至所有副本。
- 上层应用(如事务性 KV 存储、分布式租约系统)读取日志事件,在本地重建一致状态。
为保证线性一致性,读操作(get)也会写入日志——若读副本尚未看到前序写入所在的 slot,多数派会强制其先同步旧决策,再在新 slot 记录读事件,从而将读线性化到写之后。
上层应用¶
Meerkat 本身不解析日志内容,由上层应用消费。目前已规划的应用包括:
- 事务性键值存储:支持 compare-and-swap 及通用事务。
- 分布式租约/锁系统:用于数据库 Leader 选举等场景。
Meerkat 明确不是通用数据库,仅面向写入频率低、一致性要求高的控制面小状态。
QuePaxa 相对 Raft 的三点优势¶
Cloudflare 博客总结了 Meerkat 选择 QuePaxa 的三条理由,均与广域网运维经验直接相关:
| 维度 | Raft | QuePaxa(Meerkat) |
|---|---|---|
| 写入入口 | 仅 Leader | 任意健康副本 |
| Leader 故障 | 阻塞至新 Leader 选出 | 无阻塞,客户端换副本即可 |
| 进度推进 | 依赖超时与选举 | 不依赖超时,异步网络可推进 |
| 并发提案 | 选举互相干扰 | 建设性协作,选出唯一值 |
| 一致性模型 | 可线性化(配合 lease) | 线性化(读也走日志) |
InfoQ 报道中,社区开发者指出 QuePaxa 属于异步共识算法,这是与 Paxos/Raft 等部分同步方案的本质区别;也有 practitioners 质疑额外往返带来的延迟是否值得——Cloudflare 的回应是,控制面场景写入稀疏,可用性优先于极致延迟。
性能评估与优化手段¶
共识算法天然代价是多轮网络往返。QuePaxa 决定一个提案通常需要 1–3 次 RTT(Leader 提案 1 次 + 广播通知;非 Leader 3 次 + 广播;并发提案可能更多)。决策延迟与多数副本之间的 RTT 成正比——副本跨洲分布时,延迟无法回避。
Meerkat 提供的性能优化手段包括:
- 副本放置可控:开发者指定副本所在数据中心,非全球强需求的服务可将副本拉近。
- 写入批处理:短时间内的多条写入合并为单个提案,提升吞吐。
- 弱一致读可选:允许读取本地副本的略旧但一致的数据,跳过共识轮次。
- 单轮多操作:compare-and-swap 等操作可在一次共识中完成。
Cloudflare 强调,Meerkat 的 fundamental latency 限制在广域网场景下客观存在,因此最适合写入不频繁、一致性不可妥协的控制面信息。
当前进展与未来计划¶
截至 2026 年 7 月博客发布时,Meerkat 状态如下:
- 尚未部署生产环境,定位为实验性内部服务,近期保持 internal-only。
- 已完成多轮 PoC(概念验证),最多在全球 50 个副本上运行;PoC 中 Leader 持续故障,集群错误率未上升。
- 实现语言为 Rust,团队计划对部分实现做形式化验证。
- 未来一年将陆续发布系列文章,涵盖 QuePaxa 细节、集群引导与管理、最优副本放置、确定性仿真测试(DST)等;同时准备学术论文投稿。
Cloudflare Research 工程师 James Larisch、Bob Halley、João Pedro Leite 是 Meerkat 项目的主要作者。
社区观察与开放问题¶
Hacker News 等社区对 Meerkat 的讨论集中在几个方向:
- 异步共识的首个生产级实现? 若 Meerkat 最终上线,QuePaxa 将成为少数走出论文、进入工业实践的异步共识方案。
- 正常场景下的性能竞争力:恶劣条件下 ~10x 吞吐优势明显,但日常低延迟 WAN 部署中,额外 RTT 是否可接受,仍需更多 benchmark 数据。
- 开源与规范:部分开发者希望 Cloudflare 公开设计规范与验证细节,以便社区复现和审计。
Cloudflare 尚未公布生产上线时间表及生产级延迟数据。对于外部开发者,Meerkat 目前更多是分布式共识工程实践的重要参考,而非可直接使用的开源组件。
小结¶
Cloudflare Meerkat 尝试用 QuePaxa 解决一个真实且普遍的问题:在不可预测的广域网上,如何用共识算法管理全球控制面状态,同时避免 Leader 与超时带来的可用性陷阱。它不提供新的通用数据库,而是为「强一致、低写入、高可用」的控制面场景提供了另一种算法选型。
对关注分布式系统的工程师而言,Meerkat 的价值在于:它将 2023 年 QuePaxa 论文中的异步共识思想,放到了 330+ 数据中心、50 副本 PoC 的真实规模上验证;无论最终是否全面投产,这一工程路径本身都值得持续跟踪。
参考来源:
- Cloudflare 官方博客:Introducing Meerkat - an experiment in global consensus
- InfoQ:Cloudflare Introduces Meerkat for Strongly Consistent Global Coordination
- QuePaxa 论文:Tennage & Băsescu et al., SOSP 2023, Escaping the Tyranny of Timeouts in Consensus