Size: a a a

Node.js — русскоговорящее сообщество

2021 April 03

N

Nikita in Node.js — русскоговорящее сообщество
https://nodejs.org/api/cluster.html#cluster_how_it_works

наверное автор говорит про это:

The first one (and the default one on all platforms except Windows), is the round-robin approach, where the master process listens on a port, accepts new connections and distributes them across the workers in a round-robin fashion, with some built-in smarts to avoid overloading a worker process.
источник

N

Nikita in Node.js — русскоговорящее сообщество
тот факт что тут все чайлды слушают на одному порту не смущает? я думаю что под капотом это мастер принимает запросы с этого порта и разикидывает их по чайлдам
источник

V

V in Node.js — русскоговорящее сообщество
А что такого?
источник

N

Nikita in Node.js — русскоговорящее сообщество
а как будут несколько разных процессов слушать на одном порту? мне кажеться это на самом деле мастер слушает и раскидывает по воркерам

либо это какая-то магия на уровне ос
источник

II

Ivan Ivan in Node.js — русскоговорящее сообщество
Верно) работает это так, но автор не так выразился немного
источник

V

V in Node.js — русскоговорящее сообщество
Совершенно нормально, ты на сях можешь написать программу с fork() и иметь несколько процессов которые будут вызывать accept() на одном и том же дескрипторе
источник

АГ

Алексей Гончаров... in Node.js — русскоговорящее сообщество
Всем привет.
Express как обрабатывает запросы?
Так сказать поочередно или асинхронно?
источник

N

Nikita in Node.js — русскоговорящее сообщество
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
Я считаю, что ты не читал доку по модулю cluster
Мелихов даже пример взял из доки, не стал ничего выдумывать
nodejs.org/dist/latest-v14.x/docs/api/cluster.html#cluster_how_it_works
источник

N

Nikita in Node.js — русскоговорящее сообщество
"talks to master process"
источник

N

Nikita in Node.js — русскоговорящее сообщество
асинхронно
источник

V

V in Node.js — русскоговорящее сообщество
И чего? Дескрипторы это запросы?
источник

V

V in Node.js — русскоговорящее сообщество
> The second approach is where the master process creates the listen socket and sends it to interested workers. The workers then accept incoming connections directly.
источник

N

Nikita in Node.js — русскоговорящее сообщество
в примере не используется server.listen(handle) подход, поэтому могу предположить, что там не один дескриптор общий
источник

N

Nikita in Node.js — русскоговорящее сообщество
In practice however, distribution tends to be very unbalanced due to operating system scheduler vagaries. Loads have been observed where over 70% of all connections ended up in just two processes, out of a total of eight.
источник

АГ

Алексей Гончаров... in Node.js — русскоговорящее сообщество
А можно как-то выстраивать "очередь" из запросов?
Просто в определенное время происходит большая нагрузка, до 200 запросов в секунду. И MySql ругается о лимите подключения с 1 имени. Тем самым приложение крашится.
источник

N

Nikita in Node.js — русскоговорящее сообщество
Используйте pool соединений
источник

АГ

Алексей Гончаров... in Node.js — русскоговорящее сообщество
А чуть чуть поточнее ?
источник

N

Nikita in Node.js — русскоговорящее сообщество
Смысл асинхронности как раз чтобы не в очереди запросы обрабатывать, а "сразу все"
источник

СС

Сергей Седой... in Node.js — русскоговорящее сообщество
Backlog?
источник