Node js однопоточен, а php многопоточен?

169
22 ноября 2018, 15:30

Сервер на nodejs при подключении нового клиента вызывает коллбек, в котором обрабатывается запрос. Если в коллбеке есть тяжелые вычисления, которые занимают много времени, то все остальные клиенты, подключившиеся после, будут поставлены в очередь в event loop и только после завершения текущего коллбека будет выполнен следующий.

В php же, даже если в скрипте есть тяжелые вычисления, то два разных клиента будут обслужены параллельно, не дожидаясь выполнения друг друга.

Можно ли такого добиться в nodejs?

Answer 1

Можно использовать cluster.

Или, если подойти к этому с другой стороны, раз уж речь зашла про php, то более похожим по логике работы было бы:

  1. Запустить несколько node.js серверов на разных портах.
  2. С помощью nginx балансить запросы между этими приложениями.

В 10.5 появилась возможность потоки/воркеры создавать, но фича пока экспериментальна, использовать не советую.

READ ALSO
Проблема с ботом телеграм

Проблема с ботом телеграм

У меня есть код(Использую библиотеку TelegramBot/Api):

156
MS SQL Server PHP PDO Linux nextRowset - ОШИБКА!

MS SQL Server PHP PDO Linux nextRowset - ОШИБКА!

в MS SQL через PDO для PHP при мульти-запросе, не возвращаются данныеПривожу условный код:

158
Возвращает null

Возвращает null

Когда пользователь входит в аккаунт, ему выводятся вся его информацияUsername выводится, а email нет

157
Странное поведение xdebug

Странное поведение xdebug

Возникла проблема при работе xdebug

174