Как работает Node.js с многоядерными процессорами?

Middle
296 просмотров
AFK Offer AI

Node.js по умолчанию использует одно ядро для JS кода. Для использования всех ядер: 1) cluster module — несколько Node.js процессов, каждый на своём ядре, разделяют порт. 2) PM2 cluster mode — то же что cluster, но управляется PM2. 3) worker_threads — настоящие потоки, разделяют память, для CPU intensive задач. 4) Несколько отдельных процессов за load balancer. Выбор: I/O-bound API — cluster/PM2. CPU-intensive задачи — worker_threads или отдельный сервис. Не пытайся выжать CPU из одного Node.js процесса.

Следующий вопрос

Что такое монорепо и какие инструменты использовать?