Node.js 多个流侦听器的流背压表现如何?
假设我有一个可读的流,Node.js 多个流侦听器的流背压表现如何?,node.js,stream,Node.js,Stream,假设我有一个可读的流,sourceStream,它每秒生成约32KB的数据。我想通过管道将这些数据传输到多个HTTP客户端的可写流 客户端A有很好的internet连接,可以跟上我的流数据。客户端B通过其可靠的14.4kbps US机器人调制解调器连接 sourceStream.pipe(resClientA); // Pipe to Client A's writable stream sourceStream.pipe(resClientB); // Pipe to Client B's w
sourceStream
,它每秒生成约32KB的数据。我想通过管道将这些数据传输到多个HTTP客户端的可写流
客户端A有很好的internet连接,可以跟上我的流数据。客户端B通过其可靠的14.4kbps US机器人调制解调器连接
sourceStream.pipe(resClientA); // Pipe to Client A's writable stream
sourceStream.pipe(resClientB); // Pipe to Client B's writable stream
这些是TCP连接,Node.js将能够知道客户端何时落后。我知道流中内置了少量缓冲,但不久缓冲区就满了,Node.js将不得不处理sourceStream
生成的所有数据
当客户端A继续按预期获取数据时,它是否会无限期地为客户端B缓冲?或者,节点是否会暂停该流,直到客户机B能够赶上,这意味着该流也会为客户机A暂停?或者,还会发生其他事情吗?它的速度和最慢的读者一样慢。资料来源: 大多数情况下,你更希望读者的阅读速度不要超过最慢的作家所能适应的速度。在节点v0.10中,它就是这样工作的