InfoQ

Cloudflare Reclaims 100 TB of RAM by Optimizing Consistent Hashing

8.5内容质量
Cloudflare Reclaims 100 TB of RAM by Optimizing Consistent Hashing

TL;DR · AI 摘要

Cloudflare通过优化一致哈希算法节省100TB内存,减少90%哈希数量并保持负载均衡准确性。

核心要点

  • 应用概率理论将哈希点数量减少90%仍保持分布精度
  • Rust数据结构优化节省6字节/哈希点内存
  • 生日悖论解释哈希碰撞概率随数量增长的非线性关系

结构提纲

按章节快速跳转。

  1. Cloudflare通过优化一致哈希算法节省100TB内存,减少90%哈希数量。

  2. 应用概率理论确定最小哈希点数量以保证分布精度。

  3. Rust数据结构从8字节/点优化至6字节/点,减少内存占用。

  4. 哈希环调整需平衡缓存请求路由稳定性与内存节省目标。

  5. 最终实现90%哈希数量减少且负载均衡误差仅增加0.7%。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Cloudflare内存优化
    • 概率理论应用
      • 确定最小哈希点数量
    • Rust数据结构优化
      • 6字节/哈希点存储
    • 哈希环调整
      • 平衡路由稳定性与内存节省

金句 / Highlights

值得收藏与分享的关键句。

#负载均衡#一致哈希#内存优化#Rust#Cloudflare
打开原文

Cloudflare 通过优化一致性哈希算法释放 100 TB 内存 - InfoQ

InfoQ 首页 News Cloudflare 通过优化一致性哈希算法释放 100 TB 内存

架构与设计

在线 InfoQ AI 安全与隐私工程认证(10 月 26 日):在受监管环境中部署 AI 的挑战?

Cloudflare 通过优化一致性哈希算法释放 100 TB 内存

2026 年 10 月 24 日 2 分钟阅读

作者:

  • Renato Losio

#### 关注我们

YouTube

232K 粉丝

LinkedIn

26K 粉丝

Instagram

新

RSS

19K 读者

X

57.1k 粉丝

Facebook

21K 点赞

Bluesky

收听本文音频 -

0:00

音频准备就绪

您的浏览器不支持音频元素。

正常

1.25x

1.5x

点赞

新下拉阅读列表

  • 阅读列表

Cloudflare 最近在其博客中披露,通过优化 pingora-ketama 中一致性哈希算法的 Rust 实现,其内部负载均衡服务的内存占用减少了超过 100 TB。该优化通过压缩哈希环条目,并利用哈希分布和碰撞率的统计分析,将每个后端的哈希数量减少了约 90%,同时保持负载均衡的准确性。

Cloudflare 在其 Pingora 后端路由器中依赖一致性哈希算法,用于将可缓存请求分发到服务器上。但支持加权服务器和不同功能组合需要多个哈希环,显著增加了内存使用。团队发现内存使用过多的问题源自 pingora-ketama 的一致性哈希数据结构,这促使他们对其设计和优化进行深入研究。

Cloudflare 将概率论应用于一致性哈希算法,确定实现所需分布所需的最小哈希点数量,使团队能够在保持所需分布的同时显著减少哈希结构的规模。

Cloudflare 首席分布式系统工程师 Kevin Guthrie、高级软件工程师 Mariia Iurchenko、系统工程师 Zaidoon Abd Al Hadi 和性能工程师 Ivan Babrou 表示:

每降低一次误差范围,所需哈希数量几乎呈数量级增长,因此增加更多哈希带来的改进效果越来越小。

来源:Cloudflare 博客

增加更多哈希对负载分布的改进效果逐渐减弱,最终 90000 个哈希仅将误差降低了 0.7%,团队利用该分析将每个服务器的哈希数量减少了 90%。生日悖论(描述在一组随机选择的值中,碰撞概率意外地高的现象)也解释了为什么随着 32 位哈希点数量的增加,碰撞的可能性会显著上升,从而引入额外的分布误差。

团队还优化了存储剩余哈希的 Rust 数据结构:现有实现使用了 8 字节的 Point,尽管哈希和服务器索引仅需 6 字节即可表示,进一步减少了内存使用。Guthrie、Iurchenko、Abd Al Hadi 和 Babrou 补充道:

还有一个问题:修改哈希环会改变部分可缓存请求的路由路径。即使新环更优,一次性切换整个网络将导致几乎所有缓存内容失效。这会将内存优化变成原始流量的灾难性激增。

新实现与现有哈希环逐步部署,以限制缓存更新和原始流量峰值。

在 Hacker News 和 Reddit 的热门讨论中,许多开发者就为何一致性哈希(consistent hashing)在带来额外开销的情况下仍然具有价值,以及它与请求哈希(request hashing)的差异展开辩论。用户 Teanut 表示:

看到微小的改动在大规模系统中产生巨大影响非常有趣。用数学方法合理证明这些改动也做得很好。

Pingora 后端路由器项目并非 Cloudflare 唯一一个在大规模场景下优化内存使用的工作:今年 8 月,该公司曾描述其 DNS 团队如何通过一系列数据结构优化,减少缓存的内存占用。

main wrapper for authors section

关于作者

section title

main wrapper for each author

#### Renato Losio

显示更多

显示更少

#### 本内容属于 Cloudflare 专题

##### 相关主题:

  • 开发
  • 架构与设计
  • DevOps
  • Rust
  • 基础设施优化
  • Cloudflare
  • 负载均衡
  • 性能调优
  • 哈希算法
  • 相关编辑内容
  • 相关赞助 AI 安全实践手册:借助 AI 加速前行,同时保障安全
  • 相关赞助 Equal Experts 帮助组织利用 AI、现代化技术,并通过专家工程、协作和创新交付实践构建更优质的软件。了解更多。

InfoQ 新闻通讯

每周二发送上周 InfoQ 内容的汇总。加入超过 25 万名高级开发者的社区。查看示例

我们保护您的隐私。