告别自建重度 Kafka 集群的运维梦魇!让 335+ 边缘节点用万能的 11 个 9 廉价对象存储,跑起海量高吞吐、严格有序、永久保留的 Serverless 事件流!
在传统架构里,如果你有一大堆事件(比如电商交易、用户点击行为、智能体调用日志),既想让风控系统看、又想让实时分析大屏看,通常必须搬出 Apache Kafka。但在 Cloudflare 遍布全球 335 个城市的无服务器(Serverless)网络里:
重型分布式集群:必须依赖长效宿主机、挂载持久化本地磁盘、管理 ZooKeeper/KRaft 元数据选主。
存储与计算彻底分离:直接把事件流建在底层现成的 R2 对象存储(兼容 S3)之上!
传统的 Kafka 就像在每个路口建一座带大保险柜的转运中心:你得派专人 24 小时看守保险柜、每天保养地基,如果路口要修路(节点维护),保险柜搬迁就得鸡飞狗跳。
Cloudflare K2 就像快递驿站直接把包裹整箱打包存进全国共享的无人智能云仓:路口的边缘工人只负责短时间在内存里理理货,每攒够一小箱(约 1 秒),唰地一下直接封箱扔进万无一失的地下超级大粮仓(R2)。任何下游快递员随时拿着提货单来批量领走!
对象存储(像 S3 / R2)最大的死穴是:只能全量覆盖写,不支持追加写入(No Append)! 如果每来一条 1KB 的事件就写一个 R2 文件,延迟和元数据直接爆炸。K2 是如何化腐朽为神奇的?
Cloudflare 平台上现在有三款异步消息工具,到底什么时候该选谁?一张表彻底分清:
| 产品 | 主要职责与定位 | 消费模式与粒度 | 消息重试与死信 | 典型最佳场景 |
|---|---|---|---|---|
| Cloudflare Queues | 单任务异步执行与重试队列 | 按单条消息/小批次消费,单点处理完即删 | 精细级 支持单消息延迟、重试、死信队列 (DLQ) | 图片缩放、发邮件、耗时单点 Worker 异步任务 |
| Basin Pipelines | 流式清洗与数据导入管道 (ETL) | 基于 Arroyo 引擎拉取清洗,直写目标存储 | 流水线级断点续传与 Checkpoint | 把海量 JSON 自动转换归档成 R2 上的 Parquet / Iceberg 分析表 |
| Cloudflare K2 | 持久化、多订阅的事件流底座 | 批量租约消费(Lease),支持并行分发或广播 | 批次级 支持整个 Batch 的 Ack / Nack / 续约 | 高吞吐日志分析、跨部门事件扇出广播、长时间离线重放 |
在 K2 中,消费者(Worker)拉取数据后会获得一份 5 分钟的批次租约。在租约期内,其他消费者看不到这批数据。消费者可以执行:确认完成(Ack)、处理失败重放(Nack)、或延长租约(Extend)。
Beta 期间免费试用(单流 30MB/s 吞吐、10GB 配额)。正式商用后,写入 $0.04/GB、消费 $0.04/GB、存储每月仅需 $0.02/GB。对比 AWS MSK 或自建 Kafka 的 EC2 实例开销,成本直接砍掉 80% 以上!
既可以在 Cloudflare Worker 内部通过极简的 env.EVENTS.send() Binding 极速写入,也可以在外部通过标准 HTTPS REST API 随时推送和拉取,完全不挑运行环境与客户端语言。
未来数月将支持:按 Key 保障严格局部顺序、多 GB/s 的并行吞吐拓展、Worker 主动推送订阅模式(Push)、更低延迟的 Express 极速层,以及平替已有工具的 Apache Kafka 协议原生兼容层!
只需要三行核心代码,K2 就会自动在后台边缘完成缓冲聚合并安全入库: