7.6
深览指数
科技Bestblogs·James Larisch··AI 生成

介绍 Meerkat:全球共识的实验

Cloudflare 研究团队发布 Meerkat,一个基于 QuePaxa 算法的全球分布式共识服务。文章的核心论点是:Raft 算法的单领导者和超时机制在跨 330+ 数据中心的广域网络上会导致写入不可用,而 QuePaxa 允许任何副本推动共识,消除了领导选举瓶颈,从而在恶劣网络条件下提供更强的可用性。本文适合对分布式系统、共识算法有基础认知的读者,了解 Raft 与 Paxos 变体在真实场景中的权衡取舍。原文 ↗

核心观点
  • Raft 算法不适合 Cloudflare 的全球网络,因为其依赖单一领导者和超时机制,在领导者故障或网络退化时会导致写入不可用;Meerkat 改用 QuePaxa 算法,允许任何副本推动共识,消除了破坏性的领导者选举。
  1. 01Cloudflare 的全球网络有 330+ 数据中心,需要跨广域网管理控制平面状态,这对共识服务提出了高可用性要求:只要多数副本存活且客户端能联系到任意已连接的副本,写入操作就必须保持可用。
  2. 02Raft 的领导者选举和超时机制在广域网上会导致“超时专制”——网络延迟波动或单点故障会引发频繁的领导者选举,期间系统不可用。
  3. 03QuePaxa 算法允许所有副本随时推动写入,并发提案会建设性地相互干扰,而非导致领导者选举,因此系统永不因单个副本宕机或性能下降而变得不可用。
  4. 04Meerkat 的架构基于一个共享的强一致性事件日志,应用程序通过读取该日志来构建状态,从而保证线性一致性。
  5. 05共识延迟与达到多数派副本所需的网络往返时间成正比,开发者可以通过将副本部署得更近或将多次写入合并为一个共识提交来优化性能。
反方 / 局限
  • 文章承认,共识延迟从根本上受限于副本之间的网络延迟,这是物理距离的硬约束,无法通过算法完全消除。
  • Meerkat 目前仍是实验性服务,尚未大规模部署在生产环境中,其在大规模、高负载场景下的真实表现和运维复杂度有待验证。
4 分钟 · 2 卡片 · 4 资料
读原文 →

前置背景

平行视角