SuperAPI AI 工具集

staff-engineering-skills-streams-vs-batch

通用与其它

查看项目

更新于 10-16 05:45

技能介绍

用途:在编写数据处理管道前,帮助判断应采用批处理还是流式处理模型,避免把批处理改造成流式时付出重写代价。

主要能力:提供决策框架,从可接受延迟、吞吐量趋势、故障隔离、顺序要求、是否提及“实时”等维度对比批处理与流式;列出需要重新评估的批处理信号,如用 cron 处理未处理项、用 setInterval/setTimeout 处理、批处理间隔不断缩短、先收集到数组再处理、以及“以后再补实时”;说明批处理正确的场景,如小时或天级延迟、需要完整时间窗口视图、吞吐稳定、计算密集且适合批量操作;给出事件驱动任务处理与微批处理两种中间方案,并强调按项隔离失败、只重试失败项;列出反模式,包括定时轮询未处理行、缩短间隔作为扩展策略、单个坏项导致整批失败。

使用方式:资料给出基于 @trigger.dev/sdk 的 task 定义示例,包含 retry.maxAttempts、queue.concurrencyLimit、trigger 调用,以及用 Promise.allSettled 做批内逐项处理并仅重试失败项;批处理示例使用 SQL 聚合生成每日收入报告。

适用场景:构建数据管道、处理队列、处理 webhook、发送通知等需要选择处理模型的工程场景。

限制:资料未提供该技能的具体安装命令、收费、平台支持范围或效果数据;示例依赖 Trigger.dev SDK 与数据库,实际采用需结合自身延迟、吞吐与故障处理要求评估。