[Node.js] Web Architecture Design
1) Traditional Web Application Processing Model - Multi-Threaded Request-Response Any Web Application developed without NodeJS typically follows the "Multi-Threaded Request-Response model" (or just "Request/Response Model"). This differs from the NodeJS way in that it uses multiple threads to handle concurrent client requests. Under the hood, server waits in infinite loop and creates one thread per client request. If the server gets many client requests that require long blocking I/O operations, then more threads become 'busy'. As a result, the remaining clients requests have to wait longer due to core-thread resources. 1.1) Detailed Flow Ahead of time: Web Server is in infinite loop and waiting for Client Incoming Requests. Web Server internally maintains a Limited Thread pool to provide services to Client Requests. Once threads free up in thread pool, server pick up those threads and assign them to remaining client requests. Clients send re...