The Single-Threaded Illusion: How Node.js Handles Thousands of Concurrent Requests