Cloudflare R2 是什么
一句话总结
Cloudflare R2 是兼容 S3 API 的对象存储服务,最大卖点是免出口费(Zero Egress Fee)——数据从 R2 读走不产生流量费,和 AWS S3 形成鲜明对比。
🤔 为什么会有它 / 解决了什么问题
云厂商(AWS S3 为首)长期靠”数据出口费”锁定客户——数据进去便宜,拿出来贵。R2 彻底打破了这个模式,让客户真正拥有数据迁移的自由。
🔍 具体原理 / 运作逻辑
数据以对象(Object)形式存储在 CF 的全球分布式存储集群中,通过 S3 兼容 API 访问。默认自动多副本冗余,读写操作经过 CF 边缘节点加速。
更硬核的技术细节(点击展开)
R2 底层基于 CF 的分布式存储引擎,数据跨多地多副本存储,保证持久性(宣称 99.999999999%)。不支持强一致性读——写入后立即读取可能读到旧版本。
🧭 什么情况下会用到 / 什么场景会遇到它
- Growth App 的文件存储(R2 替代 AWS S3,零出口费匹配”多工具通过 iframe 嵌入”的大流量场景)
- 静态网站托管(结合 Workers 做动态路由)
- 数据库备份归档(Press 每日备份目标)
🛠️ 怎么上手 / 在哪操作
登录 Cloudflare Dashboard → R2 → 创建存储桶(Bucket),或使用兼容 S3 SDK 的客户端配置端点 https://<account>.r2.cloudflarestorage.com。
⚖️ 副作用 / 代价 / 取舍
- 最终一致性:写入后立即读取可能返回旧数据(不适合”先写后读强一致”的场景如交易流水)
- 存储单价本身不是最便宜的(比 Backblaze B2 贵),核心价值在免出口
- 无原生跨区域复制功能(需自行用 Workers 实现)
🕰️ 来历
- 谁提出/创造的:Cloudflare
- 什么时候出现的:2021 年 9 月公开 Beta,2022 年 9 月正式 GA(生日周发布)
🔗 关联 / 经常一起出现的概念
- AWS S3:R2 兼容的 API 标准,但 S3 收出口费
- Cloudflare Workers:通过 Workers 可以给 R2 加缓存层、鉴权、图片处理
- Cloudflare Cache:R2 本身不是缓存层,但常搭配 Cache 实现热数据加速
⚠️ 注意事项 / 常见误区
“零出口费”只适用于 R2 作为源站读数据,如果经过 CF Cache 再出边缘,缓存命中部分确实免费,但穿透回源的部分只在R2 层面免出口,CF Cache 到用户的流量在免费额度内也不收费。真正”省钱”的场景是大规模数据迁移和跨云备份。
📎 记忆锚点
“存进来容易,拿走去用也不花钱。S3 的反义词。”
📝 更新日志
| 日期 | 改动 | 原因 |
|---|---|---|
| 2026-07-13 | 首次创建 | - |