- это кластеры nodejs, которые подходят только для того, чтобы один и тот же процесс мог работать параллельно (документация предлагает это)
В некотором роде.Встроенный кластерный модуль просто порождает дочерние процессы, которые выполняются тем же сценарием, который выполняется.Вы всегда можете просто выполнить дочерние процессы другими способами.
или имеет смысл иметь кластерных работников nodejs, таких как отдельные задачи в пулах
Все, что работает для вас и вашего приложения!Нет смысла следовать соглашению, если у вас есть причина этого не делать.
, что приводит к следующему: какие случаи использования [кластера] действительно реальны с nodejs?
(Я предполагаю, что вы спрашивали о реальных случаях использования кластеров.)
Для большинства приложений (тех, которые я видел и использую в любом случае), можно полностью насытить / использовать ресурсы системы.с одним процессом Node.js.То, что ваш код является однопоточным, не означает, что весь нативный код, к которому вы обращаетесь, является.Многие люди используют модуль кластера, потому что считают, что это единственный способ полностью использовать все процессоры на хосте.Это из-за распространенного недопонимания документации Node.js.
Я уверен, что есть некоторые приложения, которые просто связаны с CPU в этом единственном потоке для запуска JavaScript, но для многих I / O являетсянамного больший блокатор.