4 ms·
Not a Node.js expert myself. But, maybe you can put a cluster of Node.js instances behind a load-balancer like Nginx?
by cygwin98 15y ago
Not a Node.js expert myself. But, maybe you can put a cluster of Node.js instances behind a load-balancer like Nginx?
- nplusone 15y agoYou can, but one reason nginx isn't used as much is that it does not fully support HTTP 1.1. As a result, for example, although it's possible, it's not trivial to proxy WebSocket connections, which are commonly used with node.js apps. Streaming uploads/downloads have similar challenges.
- pornel 15y ago> does not fully support HTTP 1.1. As a result, for example, although it's possible, it's not trivial to proxy WebSocket connections Non-sequitur. WebSocket protocol is not HTTP/1.1. WebSocket does have HTTP-like handshake as a hack, but it does not give required behavior in spec-compliant HTTP/1.1 clients, e.g. RFC 2616 requires connection to be closed after Upgrade is sent. WebSockets needs it open. HTTP requires proxies seeing Connection:Upgrade to remove the Upgrade header. WebSocket clients require this header to be present. So basically a fully HTTP/1.1 compliant proxy is unable to proxy WebSocket connections by design. If you need only fast downstream communication, you can use Server-Sent Events though.