SuperAPI AI 工具集

customerio-rate-limits

编程与开发

查看项目

更新于 10-16 06:20

技能介绍

用途:帮助开发者在调用 Customer.io API 时实现限流与退避,避免触发 429 Too Many Requests,适用于高并发调用、重试逻辑与批量导入。

主要能力:提供令牌桶限流器、带抖动的指数退避、基于 p-queue 的队列化处理、批量导入策略,以及 429 响应处理。资料给出的参考限速:Track API 的 identify、track、trackAnonymous 及批量操作约 100 req/sec(按工作区);App API 的事务邮件/推送约 100 req/sec,广播与查询约 10 req/sec。这些为近似值,Customer.io 使用滑动窗口限流。

使用方式:先实现 TokenBucket 类控制并发(示例默认 80/秒以留余量);再用 withBackoff 包装调用,遇到 429 时优先读取 Retry-After 头,否则按指数退避并加抖动;高持续量场景用 p-queue 设置 concurrency、interval、intervalCap;批量导入(>10K 用户)采用保守速率(如 50/秒)并记录进度。安装命令:npm install p-queue。

适用场景:高并发事件上报、批量用户导入、需要重试与监控的集成。

限制:资料未提供具体价格、平台支持范围或官方 SLA;限速数值为近似值,需以当前套餐与官方文档为准。前置条件包括当前限流文档/套餐、基线测量、幂等设计与容量负责人,以及对 429、队列年龄、投递失败和重复事件风险的告警。不要立即重试所有失败事件,也不要用扩大发送量来补偿。