服务对象与地域限制
PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。
代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。
本文要点
- 2026 年 10 月 1 日官方公告确认 public beta;Workers Free 不可用。测试期间 K2 使用量不计费,但 Workers Paid 及其他服务费用不因此消失。
- 账户内所有流合计初始存储上限 10 GB;最多 20 条流。公告列出的 produce 上限为每 stream 30 MB/s。
- 记录保留默认 7 天,可配置 1 小时至 30 天。读取经 subscription 追踪位置,多个订阅彼此独立。
- 消费采用至少一次投递;批次租约为 5 分钟,处理成功后 ack,失败可 nack。produce 重试也可能写入重复记录。
- Kafka 客户端直接兼容、push-based Worker consumers、Express tier 和 key-based ordering 都列在未来路线图,不能写成当前已上线能力。
先区分持久日志和一次任务队列
Cloudflare 在 <a href="https://blog.cloudflare.com/cloudflare-k2-streams/">10 月 1 日公告</a>中介绍 K2,面向需要留存、回放和多个独立消费者的事件处理。<a href="https://developers.cloudflare.com/k2/">产品文档</a>将它定义为 durable ordered log:生产者追加记录,消费者通过 subscription 读取和确认自己的进度。
例如订单事件可能分别供风控、统计和履约处理;独立 subscription 让各自按进度读取同一条流,不因另一订阅已经读取就删除记录。选择 K2 或 Queues 应从留存、回放、消费者模型和失败处理出发;不能把它当作普通工作队列换个名称,也不能未经验证直接迁移现有生产链路。
资格、测试费用和未来价格分别看
<a href="https://developers.cloudflare.com/k2/get-started/">官方入门指南</a>要求 Workers Paid,明确 Workers Free 不可用。公告说 K2 在 beta 期间不计使用量费用,但没有说明 beta 的结束日期。这不等于无需订阅,也不免除调用它的 Workers 或其他服务费用;本文没有验证账户开通或实际账单。
公告列出的未来预期价格为 produced 0.04 美元/GB、consumed 0.04 美元/GB、retained 0.02 美元/GB/月,原文使用 anticipated pricing。这些是未来预期而非当前已收取的单价,正式计费前须重新核对官方价格与生效日,不能据此承诺固定长期成本。
保留期限和限制决定能回放多少历史
<a href="https://developers.cloudflare.com/k2/platform/limits/">当前限制文档</a>写明 beta 期间每账户所有 stream 合计最多 10 GB,最多 20 条 stream;保留期最短 1 小时、最长 30 天,默认 7 天。公告另列每 stream produce 30 MB/s 的初始上限。10 GB 是账户合计,不是每条流各有 10 GB。需要更高限制时走官方申请流程,不能先假定额度已提高。
单个 produce request 最多 5 MB,单条 record 约 1 MB;一次 consume 最多 10000 条、响应最多 10 MB。每 stream 最多 100 个 subscription,每 subscription 最多 128 个 active leases。先估算写入量、保留天数和消费者延迟;超出保留期的数据不能当作永久备份,重要业务需要另外明确归档策略。
至少一次投递需要业务幂等,ack 不是自动去重
入门文档说明:消费者取得批次后持有 5 分钟租约,完成处理后 ack 才推进订阅位置;未在租约内确认会再次投递。失败时 nack 释放租约但不推进位置。响应丢失后,同一个 worker_id 再次 consume 可取回原批次并刷新租约;不能把再次收到事件当作新的订单或再次收费的依据。
produce 的批次写入是原子的,但 K2 不为生产请求去重。官方要求仅在 error.retryable 为 true 时重试;重试仍可能重复存储批次。为事件设置稳定业务 ID,并在消费者完成不可重复副作用前检查幂等状态,是应用自己的设计责任。不要在业务动作还未成功时提前 ack,也不要宣称 K2 保证 exactly-once。
按官方路径做隔离验证,显式启用写入认证
指南的顺序是:准备账户 ID 和所需 K2 Config Write、K2 Produce、K2 Consume 权限;创建测试 stream;向 /produce 发送少量 base64 编码的非敏感记录;创建从 earliest 开始的 subscription;/consume 后核对结果;处理完成再 /ack。另建独立订阅可检查各自读取位置。latest 会跳过创建订阅时已存在的记录,不能用于验证刚才的历史样本。本文没有实际创建账户 token、stream 或发送记录。
官方创建示例设置 http.enabled 和 http.authentication 为 true;文档明确省略 authentication 时,知道 endpoint URL 的人可能直接生产记录。测试也应显式开启认证,不把 API token 放进公开网页或样本仓库。用独立数据验证 nack 后重投和重复事件保护,记录消费进度,再决定是否接入业务;清理测试流会删除记录,须确认无需保留后按官方步骤处理。
Kafka 兼容和更低延迟仍是路线图
公告把更高写并行度、message keys/key-based ordering、push-based Worker consumers、低延迟 Express tier 和 Apache Kafka 客户端 drop-in support 列为未来数月路线图。当前不能把 Kafka 客户端直接指向 K2 就宣称兼容,也不能将 Express 的目标延迟当作当前 SLA。厂商报告的约 1 秒 produce p99 是测量结果,本文未独立复测。
接入失败时先核账户资格、权限、认证、payload 大小、保留和租约状态,再考虑网络问题。只有 TLS、连接超时或代理认证等证据时才参考 <a href="/resources/proxy-connection-troubleshooting-checklist">代理连接排查清单</a>。网络工具不能提高账户容量、改变投递语义或提供未上线的 Kafka 兼容;官方计费、限制或兼容功能有新版本时,应更新同一份接入判断。
资料来源
常见问题
免费 Workers 账户能用 K2 吗?
当前官方入门指南要求 Workers Paid,Workers Free 不可用。K2 beta 不计使用量费用,不代表套餐和其他服务也免费。
K2 的 10 GB 是每条流的额度吗?
不是。当前限制页写 beta 期间每账户所有流合计 10 GB;每账户最多 20 条流。
K2 能保证每个订单事件只处理一次吗?
不能这样保证。消费是至少一次投递,租约到期或失败可重投,produce 重试也可能重复写入。业务需要稳定事件 ID 和幂等保护。
默认保留多久,多个订阅会抢走彼此的记录吗?
默认保留 7 天,可配置 1 小时至 30 天。多个独立 subscription 各自追踪进度,读取不因另一订阅确认而删除记录;数据仍受保留期限约束。
现在可以直接使用 Kafka 客户端或 Express tier 吗?
公告将 Kafka 客户端 drop-in support、Express tier、push-based Worker consumers 等列入路线图;本文没有证据确认它们已经上线。
未来预期价格可以当作当前账单单价吗?
不可以。公告说 beta 期间不计 K2 使用量费用,0.04 美元/GB produced 和 consumed、0.02 美元/GB/月 retained 是 anticipated pricing,正式计费前须复核。