提供案例
billflare.

为 Cloudflare Workers 构建用量熔断器

赵英杰介绍他为基于 Workers 的新闻聚合站构建的“面向自身”熔断器:月度用量接近套餐额度时暂停定时任务。

适用产品
WorkersKVQueues
来源
作者经验赵英杰的博客
作者
赵英杰

要点

  • 定时调度器每 5 分钟查询 GraphQL Analytics API 与 Observability Telemetry API,取得 8 类资源的当月用量并缓存到 KV;两次检查之间只读取 KV 中的缓存状态。
  • 阈值按资源设置:所有资源 80% 预警;只有超额昂贵且暂停定时任务能降下来的资源(KV 操作、Queues、Observability)在 90% 熔断、低于 85% 恢复;Workers 请求与 CPU 只预警。熔断与恢复之间的间隔用于防止反复振荡。
  • 用量 API 故障时,熔断器维持最后已知状态。预警按资源、按月去重,熔断告警每月一次,经邮件与飞书发送。作者称它曾在月初捕获 KV 读取达 82% 的尖峰,在触达熔断阈值前完成排查。

原始来源

  1. 日期未记录

D1

D1 状态定时写入:作者报告 150 刀费用,后称已退款。

@wofuhuola 称生成的小工具每 5 分钟全局写入 Reddit 帖子状态并删除过期行,一个月产生 150 刀费用,三个月后才发现;作者称申诉后获退款。

作者经验Workers +4

Cloudflare 计费避坑指南串文

作者按产品整理 Cloudflare 计费风险,并补充预算预警的使用经验。

社区资源Workers +4

cf-usage-guard 用量保护库

一个开源库:从 Cloudflare GraphQL API 读取账户用量,并在超额前对单项 Worker 绑定熔断。