I haven't used Node.js in ~3 years (thank god!) but if I understand this correctly, Node.js doesn't have an internal way to stop receiving data which in turn prevents Node.js from signaling backpressure on the client by way of the client's buffers being full (assuming the client is using TCP).
That seems odd given how easy of a feature this is to implement usually. I know Node.js doesn't allow its users to use threads in their programs but they should consider carefully using threads in a few more places internally to implement necessary functionality like this.
The article we are commenting on points out that backpressure is not easily handled by the given tools of Node.js it speaks of a way to fix it from crashing from memory overload. The comment above points out in a way that I understood as Node being bad for not having a way to deal with backpressure with its own tools. The link I shared shows that Node.js does have a built in tool in streams to handle that exact problem. As other comments have said having too many connections will always eventually crash a single server. So my question is what will save you? Can it be done in the JS part of Node? Can it be done in a Node C and C++ module? I look at my self as a beginner when it comes to these things so I would surely enjoy an informative response.
That seems odd given how easy of a feature this is to implement usually. I know Node.js doesn't allow its users to use threads in their programs but they should consider carefully using threads in a few more places internally to implement necessary functionality like this.