3 ms·
The issue is that a single V8 thread in Node.js could be handling the event loop for thousands of clients. A process crash here could cause a mini thundering-he
by jchrisa 16y ago
The issue is that a single V8 thread in Node.js could be handling the event loop for thousands of clients. A process crash here could cause a mini thundering-herd when all the users attempt to reconnect at the same time.
So his question is not baseless - the solution is to have a VM that rarely crashes.
n.b. Erlang also hard-crashes when it can't allocate memory. This hasn't hurt its reputation for reliability.
- jasonhoffman 16y agoYes, Bruno's fundamental point is that "desktop" language VMs will just end a process when there's memory allocation errors. So basically there has to be real means to instrument and error handling has to be robust, he's correct in this assertion.
- mraleph 16y agoA process crash will cause the same problem for thread-per-connection server. There is essentially no difference in stability between thread-per-connection and event-loop based servers.