背压Backpressure
你可能会说
下游处理不过来时不要让队列和内存一直涨,帮我让上游自动放慢并能在恢复后继续。
下游处理能力不足时,将减速或暂停信号反向传递给上游以限制任务流入的反馈机制。例如图片处理服务每秒只能完成少量任务,上传高峰却不断产生新任务;没有背压时,队列和内存会持续增长,延迟最终变成故障。系统可以让上游放慢、暂停发送,或限制还没确认的任务数量;日志显示队列深度和处理能力回到可控范围后再恢复。背压不是增加容量,也不是脱离上下游关系的固定限流。
也常被叫作反压
下游变慢时,为什么要把信号传回上游
生产者持续全速发送
消费者只能处理 2,000/s
队列内存不断增长
可观察证据输入速率长期高于处理速率
没有反馈时,未处理工作会挤满内存。
背压让工作量跟着处理能力变化
问题与关键机制:上传持续快于图片处理会让队列、未完成任务和内存上涨;下游变慢或达到上限时,把反馈传回上游,让它放慢、暂停或暂时不接新工作。
用恢复证据判断改善:模拟高峰后,队列和内存应保持有界,处理能力恢复时上游能继续;背压不是凭空增加容量,也不是固定限流规则。
财务报表导出也会出现背压:批量导出报表时,数据读取如果快于文件写入,写入端接近容量上限就通知读取端暂停,腾出空间后再继续,避免导出进程因缓冲持续增长而耗尽内存。
你可以这样告诉 AI Agent
为图片处理链路补上背压:当下游处理变慢或未完成任务达到上限时,让上游暂停或限速;恢复后再继续。模拟上传速度超过处理速度的情况,验收队列和内存不会无限增长,并记录触发和恢复的反馈。
延伸阅读 · 权威出处
快速练习