Node.js 流与背压

nodejs/stream_backpressure2026-10-16 18:03:58

Node.js 流与背压用于逐段传递数据,并在消费者处理不过来时限制生产速度,避免缓冲区和内存无界增长。

可写流信号

向可写流 write() 返回 false 时,表示应暂停继续写入,并按协议等待 drain;忽略信号持续写入会积累缓冲。false 不表示本次数据被丢弃,也不表示磁盘已经持久化。

管线与故障

可使用 pipeline 等机制组织读取、转换和写入,并处理错误和清理。文件上传或代理转发还应限制总量、并发和超时,目标失败时停止不再需要的读取。

流减少一次性缓存的需求,但压缩、解析或转换本身如果进行大量同步计算,仍可能阻塞事件循环。

参考资料

本页目录