CFCF Static Export ProDOCS
首页/Cloudflare 文档/yuebin.uk 用到的 Cloudflare 产品:配额与限制详解

yuebin.uk 用到的 Cloudflare 产品:配额与限制详解

yuebin.uk(CF Static Export Pro)是一套跑在 Cloudflare 边缘上的无服务器 CMS,内核是 Cloudflare Workers + D1 + R2 + KV 四件套。本文基于 Cloudflare 官方文档(cloudflare-docs@production,数据截至 2026-10)整理这四款产品在 yuebin 中的实际用途,以及各自的免费额度与使用限制,方便你评估成本与边界。


一、先看懂 yuebin 的「动静分离」架构

yuebin 把内容拆成两层,各用不同的存储,这也是它几乎零运维、又足够快的关键:

存储层 在 yuebin 里存什么 为什么用这个产品
R2 文章单页 HTML、媒体文件、风格包资源 便宜、容量无限、读不按行计费
D1 文章、分类关系、评论、用户、设置、文档索引 支持 SQL 查询,是列表页「实时性」的来源
KV 只存 site:ctx(站点设置快照) 读多写少,做跨 isolate 的配置缓存
Workers 整套 CMS 的运行载体(路由、渲染、注入评论) 无服务器计算,边缘执行,按请求计费

一次访问的典型路径:静态资源(CSS/JS/字体)命中 Cloudflare assets 层直接返回、不计 Worker 调用;未命中则进 Worker,按路径算 R2 key 读单页 HTML;若单页不存在,则从 D1 取文章现场渲染并回填 R2。列表页则直接查 D1,结果进边缘 Cache API 按 TTL 缓存。

一个重要工程经验:KV 的 list 操作很贵。早期版本把列表缓存、侧边栏、RSS 都放 KV,批量删除几百篇文章会触发大量 list+delete 直接打满免费额度。现在这些缓存全部搬到 Cache API(免费、不计 KV 配额),KV 只保留一个键。


二、Cloudflare Workers —— 运行载体

Workers 是 yuebin 的执行环境:它接收请求、读 R2、查 D1、注入评论、套模板渲染。

免费额度(Workers Free)

指标 Workers Free Workers Paid(约 $5/月)
每日请求数 100,000 / 天(UTC 0 点重置) 无限制
单次请求 CPU 时间 10 ms 默认 30 秒(可配至 5 分钟)
单次请求子请求数 50 10,000
内存 128 MB 128 MB
同时打开的外部连接 6 6

主要限制

  • 请求/响应大小:URL ≤ 16 KB;请求头 ≤ 128 KB;响应头 ≤ 128 KB;响应体无强制上限。请求体大小取决于主账户计划(Free/Pro/Business 100 MB,Enterprise 最高 5 GB)。
  • CPU 时间:只算代码执行时间,等待 fetch()、KV、D1、R2 等网络 IO 不计入。
  • 子请求:每个 Worker 调用对 KV/R2/D1 等内部服务的子请求上限为 1,000(Free 与 Paid 相同);重定向链中每个子请求都计入。
  • 其他:未压缩 Worker 包 ≤ 64 MiB;启动时间 ≤ 1 秒;每账户 Workers 数量 Free 100 / Paid 500;静态资源文件数/版本 Free 20,000 / Paid 100,000,单文件 ≤ 25 MiB。
  • 超限表现:超出每日请求返回 Error 1027;超出 CPU/内存返回 Error 1102。

对 yuebin 的意义:免费层每天 10 万次请求通常够中小站点;列表页走 D1 + 边缘缓存,单页走 R2,能显著压低实际 Worker 调用量。


三、Cloudflare D1 —— 文章与关系的 SQLite 数据库

D1 是 yuebin 的内容主库,存文章、分类关系、评论、用户、设置、文档索引等需要 SQL 查询的数据。

免费额度(按量计费项,随 Workers 计划)

计费项 Workers Free Workers Paid
行读取(rows read) 500 万 / 天 前 250 亿 / 月包含,超出 $0.001 / 百万行
行写入(rows written) 10 万 / 天 前 5000 万 / 月包含,超出 $1.00 / 百万行
存储 5 GB(账户总计) 前 5 GB 包含,超出 $0.75 / GB·月
  • 免费额度每日 00:00 UTC 重置;D1 无出网(egress)流量费。
  • 超免费日限额后,D1 会拒绝查询并返回超限错误,升级到 Paid 通常几分钟内解除。

主要限制

限制项 Free Paid
每账户数据库数 10 50,000(可申请更高)
单库最大容量 500 MB 10 GB
每账户最大存储 5 GB 1 TB(可申请更高)
时间点恢复(Time Travel) 7 天 30 天
每 Worker 调用查询数 50 1,000
  • 每表最大列数:100;每行最大 2 MB(字符串 / BLOB / 整行)。
  • 单条 SQL 语句长度上限 100 KB;单次查询绑定参数上限 100;单次查询时长上限 30 秒。
  • 单库行数无上限(受单库容量约束);文件导入(d1 execute)上限 5 GB。

对 yuebin 的意义:列表页「按行计费但读很便宜」,配合边缘缓存,成本远低于维护一堆静态列表。给高频过滤字段建索引可显著降低 rows_read 扫描量。


四、Cloudflare R2 —— 单页 HTML 与媒体存储

R2 存 yuebin 生成的静态单页 HTML、上传的媒体文件、以及风格包资源。它最大的卖点是出网免费、容量近乎无限。

免费额度(每月)

计费项 免费额度 超出后(Standard 标准存储类)
存储 10 GB·月 / 月 $0.015 / GB·月
Class A 操作(写入/列举等) 100 万次 / 月 $4.50 / 百万次
Class B 操作(读取等) 1000 万次 / 月 $0.36 / 百万次
出网流量(Egress) 免费 免费
  • Class A 含 PutObject/CopyObject/UploadPart/ListObjects 等;Class B 含 GetObject/HeadObject 等;DeleteObject/DeleteBucket/AbortMultipartUpload 免费。
  • 免费额度仅适用于 Standard 存储类,不适用于 Infrequent Access(低频访问,有 30 天最低存储时长与取回费)。

主要限制

限制项 上限
单桶容量 / 单桶对象数 无限
每账户桶数 1,000,000
单对象大小 5 TiB(4.995 TiB)
单次上传大小 5 GiB(单分片)/ 4.995 TiB(多分片)
单次上传最大分片数 10,000
对象 key 长度 1,024 字节
对象 metadata 大小 8,192 字节
同 key 并发写入 1 次 / 秒(更快返回 429)
桶管理操作速率 50 次 / 秒(不含对象读写)

对 yuebin 的意义:单页 HTML 体积远小于上传限制;媒体文件走 R2 比 D1 划算得多。注意 r2.dev 公开端点仅供测试、有可变限流,生产请绑自定义域名。


五、Cloudflare KV —— 站点设置的轻量缓存

KV 在 yuebin 中只承担一件事:存 site:ctx 这个站点设置快照,做一个读多写少、跨 isolate 共享的配置缓存。

免费额度

计费项 Workers Free Workers Paid
读取 100,000 / 天 无限
不同 key 写入 1,000 / 天 无限
同一 key 写入 1 次 / 秒 1 次 / 秒
每账户存储 1 GB 无限
每命名空间存储 1 GB 无限

主要限制

限制项 上限(Free / Paid 相同)
每 Worker 调用 KV 操作数 1,000(批量请求按 1 次计)
每账户命名空间数 1,000
键(key)大小 512 字节
键元数据大小 1,024 字节
值(value)大小 25 MiB
最小 cacheTtl 30 秒

对 yuebin 的意义:KV 适合「读多写少」的小配置,但要慎用 list——它贵且计入配额。yuebin 把列表缓存、RSS、侧边栏这类需要列举的场景全部改用 Cache API,KV 只保留单个 site:ctx 键,把免费额度用在刀刃上。注意 KV 是最终一致的(跨地域同步有延迟),不适合存需要强一致的实时数据。


六、免费层总览:一套 yuebin 站点能白嫖到什么

产品 核心免费额度 超限后的「自动刹车」
Workers 10 万请求 / 天 返回 Error 1027,可配置 fail-open / fail-closed
D1 500 万行读 + 10 万行写 / 天,存储 5 GB 拒绝查询;存储满需清理
R2 10 GB 存储 + 100 万 Class A + 1000 万 Class B / 月,出网免费 按量计费(极便宜)
KV 10 万读 + 1,000 写 / 天,存储 1 GB 超额计入 Paid 额度

结论:对于内容量中等的个人/小团队站点,yuebin 完全可能做到每月零账单——单页静态化压低 Worker 调用,列表走 D1 实时查询 + 边缘缓存,媒体与单页落 R2,站点配置仅一个 KV 键。真正的扩展瓶颈通常是 Workers 的 10 万请求/天与 D1 的 10 万行写/天(发布/评论高峰时);跨过这条线,升级 Workers Paid(约 $5/月)即可解锁上面表格里的 Paid 配额。


七、给你的实战提醒

  1. 单页是快照:换风格、改站点名、改 permalink 后,旧单页不会自动变,需要重建(这也是 R2 单页方案的固有边界)。
  2. 列表缓存按数据中心生效,跨地域最终一致——不要指望列表页全球瞬时同步。
  3. KV list 很贵:任何需要「列举一堆键」的逻辑都优先用 Cache API 或 D1,别堆在 KV。
  4. D1 建索引:列表/分类/标签查询务必在过滤字段上建索引,否则全表扫描会把 rows_read 蹭上去。
  5. R2 生产绑自定义域名:r2.dev 有可变限流,仅用于测试。
  6. 强依赖 Cloudflare:D1 / R2 / KV / Workers 任一不可用,站点都会受影响——这是「零运维」换来的代价。

数据来源:Cloudflare 官方文档仓库 cloudflare-docs(production 分支),页面涵盖 Workers / D1 / R2 / KV 的 Limits 与 Pricing 文档。配额与价格可能随官方调整,请以最新官方文档为准。