HTTP сервер на Node.js (routing, cluster, IP sticky)

preview_player
Показать описание


#nodejs #http #сервер #роутинг #маршрутизация #кластер #программирование #js
Рекомендации по теме
Комментарии
Автор

Очень интересно смотреть реализацию важнейших механизмов веб-сервера на нативе, благодарю!)
Только, что это за редактор, а-ля "ностальджи"?)

metalcorewitchkhousovitch
Автор

40:08 "Благодаря библиотечке 'cluster' createServer сделается только в master-процессе...". Звучит как эдакая "магия", при чём контринтуитивная. Подскажите, пожалуйста, какие-то источники и статьи, в которых подробнее об этом можно почитать. Спасибо

Jaood_xD
Автор

2 вопроса касательно лекции

1) В сериализаторе types необходимо писать уже асинхронный код? (async/await, promises, запрсы к бд и стороннему API)
2) Как все-таки можно избежать рекурсии в serve функции
Спасибо

PerfectSwingDance
Автор

Почему на 29:49 вы говорите, что у нас синхронный сервер? Разве сам факт того, что мы передаём в createServer коллбэк, не делает его асинхронным?

randomtron
Автор

А я вот не понимаю одного момента. Мы когда отправляем ссылку на сокет в воркер через 'message' и апдейтим сервер в него, с последующим эмитом 'connection', что произойдет если в этот момент на балансер придет еще запрос, а http сервер на воркере еще не обработал запрос, он обработается нормально? мы же запишем уже другой сервер в сокет. Можно пояснить этот момент?

TheLevius
Автор

Небольшая поправка для regexp:
вместо `const rx = new RegExp(key.replace('*', '(.*)'))`
стоит делать `const rx = new RegExp(key.replace(/\*/g, '(.*)'))`, чтобы все параметры вошли в массив.

Также интересует вопрос - стоит ли расширять резолверы типов добавлением хедеров с ContentType?

CokePaul
Автор

вопрос касательно обработчика http.createServer((req, res) => {
res.end(router({ req, res }) + '');
}).listen(8000);

в исходнике

Если мы перепишем этот синхронный обработчик просто добавив async (req, res):

http.createServer(async (req, res) => {
res.end(router({ req, res }) + '');
}).listen(8000);

станет ли обработчик асинхронным и не блокирующим приход новых запросов как в исходнике ?

dmytroyurchenko
Автор

Дуже цікаво, але мабуть як теорія щоб розуміти як воно працює всередині тих же фреймворків, бо якщо пройтися по вакансіям усі вимагають фреймворки

nix
Автор

Почему Марк Аврелий так плохо относится к Java?)

igorsavelev