Node.js cluster supports two scheduling policies: SCHED_RR (Round-Robin), where the master distributes connections evenly, and SCHED_NONE, where the OS decides which worker handles each connection. You configure this via cluster.schedulingPolicy.
The scheduling policy determines how incoming connections are distributed to worker processes. Round-Robin (SCHED_RR) is the default on Linux and macOS and provides more even distribution. SCHED_NONE leaves it to the OS, which can sometimes cause uneven load distribution but reduces master-process overhead.
Default on Linux and macOS
Master process assigns connections to workers one-by-one in a cycle
Provides more even and predictable load distribution
Master handles distribution logic — adds slight overhead to master
Default on Windows
Operating system decides which worker process accepts each connection
Can lead to uneven distribution — some workers may get overloaded
Lower overhead on the master process