Node applications are always single-threaded. So, naturally, the application uses only a single processor even when running on multi-processor systems.
But one of Node’s core modules, Cluster, provides support for Node applications to take advantage of multiple cores. It allows us to create multiple worker processes that can run on several cores in parallel, and share a single port to listen to events.
Here, each process uses IPC to communicate with the main thread and pass the server handle to others as needed. The main process can either listen to the port itself and pass every new connection to child processes in a round robin order, or assign the port to child processes so the child processes listen to requests.