我使用双缓冲队列来收集遥测事件,并按 UTC 小时分组。我的管道利用 Cloudflare Workers、Queues、Workflows 和 R2 来捕获、批处理、处理和存储遥测事件,同时最大化 Cloudflare 定价的优势。取模运算用于将负载路由到活跃队列,以及再次用于清空非活跃队列。使用 UTC 以避免夏令时处理。生产者:生产者评估负载的时间戳,将消息路由到活跃队列:消费者:消费者任务每小时半点触发,以清空非活跃队列:消费者任务回溯一小时,以确定当前哪个队列是非活跃且可安全消费的:最后,批次被压缩并使用简单的分区策略写入 R2:这种模式将混乱的遥测流转换为压缩的每小时归档。你得到一个针对下游分析优化的分区、无服务器数据湖,同时将云存储账单保持在极低水平。