Межпроцессовое взаимодействие в Node.js

  Рет қаралды 9,680

Timur Shemsedinov

Timur Shemsedinov

Күн бұрын

Пікірлер: 19
@ale0x314
@ale0x314 5 жыл бұрын
Спасибо за очень крутую лекцию :) Очень доходчиво объяснен материал
@timashoff
@timashoff Жыл бұрын
Спасибо за лекции! Столкнулся с проблемой отправки message от воркера при использовании esm во 2-ом примере. с commonJS все работает идеально. upd: ничего умнее "топорного" решения обернуть send в primary.js в сеттаймаут не придумал( `setTimeout(() => worker.send({ task }), 1000)`
@oleksiiborovykov6306
@oleksiiborovykov6306 3 жыл бұрын
Дивлюсь і радуюсь, дякую)
@silicongen
@silicongen 3 жыл бұрын
Концепция ipc пока сложно дается, продолжу смотреть следующие видео. Спасибо за годные лекции, Тимур!
@malkevych
@malkevych 4 жыл бұрын
Дякую, чудова лекція! Скільки воркерів зазвичай потрібно робити, щоб не було оверхеда? До прикладу в нас є N ядер. Наскільки я розумію потрібно брати N - 1, так як в нас одне ядро забирає мастер процес. Також цікавить питання про пул тредів, який є в ноді (для вводу / виводу), вони працюють на одному ядрі з мастером чи воркер має свій пул тредів для вводу / виводу? Заздалегіть дякую!
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
Потоки по распределению процессорного времени мало отличаются от процессов. Нужно что-то оставлять под операционку, но бывают случаи, когда потоков можно делать в 2-4 раза больше, если потоки часто впадают в сон, например через Atomics.wait или ждут ввода-вывода ничего не делая ничего, кроме пустого кручения ивегтлупа.
@TimurSevimli
@TimurSevimli Жыл бұрын
Спасибо большое за лекцию! Вообще пример с cluster оптимальный ? Просто у меня 8 ядра и Primary процесс создает 8 дочерних процессов в итоге в 1 ядре работает Primary процесс, а еще 8 дочерних процессов всего на 8 ядре 9 процессов создается. Возможно стоит код изменить на "os.cpus().length - 1" или может все правильно и так и должно быть ? 🤔
@ИльяФёдоров-й2ж
@ИльяФёдоров-й2ж Жыл бұрын
А как организовать систему обмена сообщениями между процессом, порожденным child_process.spawn()?
@TimurShemsedinov
@TimurShemsedinov Жыл бұрын
Через файловый потокб pipe, nodejs.org/api/child_process.html#optionsstdio
@TimurShemsedinov
@TimurShemsedinov Жыл бұрын
@@ИльяФёдоров-й2ж нет, можно много раз
@ИльяФёдоров-й2ж
@ИльяФёдоров-й2ж Жыл бұрын
@@TimurShemsedinov Всё, разобрался, действительно можно. Отправлял с помощью subprocess.write() исполняемому файлу C++, забыл в конце '/n' добавить))))
@shmonatan
@shmonatan 2 жыл бұрын
подскажите, а где видео = 7:57 специальная лекция по проектированию протоколов
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
У меня был отдельный курс по проектированию протоколов, но записи не делал. А все, что есть по протоколам - тут - github.com/HowProgrammingWorks/Index/blob/master/Courses/Network.md
@shmonatan
@shmonatan 2 жыл бұрын
@@TimurShemsedinov Спасибо
@shmonatan
@shmonatan 2 жыл бұрын
@@TimurShemsedinov Подскажите пожалуйста, возможно ли на модуле net, обработать сокет(response), что бы его воспринимал браузер
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
@@shmonatan Возможно, но зачем?
@shmonatan
@shmonatan 2 жыл бұрын
@@TimurShemsedinov хочется понять как сокет отправляет данные в браузер
@МаксимВдох
@МаксимВдох 2 жыл бұрын
Вот когда разбирали библиотеку fs, все было понятно. Операции чтение-запись данные - насущные. Тут и рад бы потратить больше времени на углубление, но не понятна практическая ценность всех действий, что показаны в лекции.
All you need to know about "child_process" in Node.js
12:38
Software Developer Diaries
Рет қаралды 9 М.
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 6 МЛН
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59
Натурал Альбертович
Рет қаралды 4,1 МЛН
А я думаю что за звук такой знакомый? 😂😂😂
00:15
Денис Кукояка
Рет қаралды 4,1 МЛН
HTTP сервер на Node.js (routing, cluster, IP sticky)
1:08:57
Timur Shemsedinov
Рет қаралды 16 М.
Atomics, SharedArrayBuffer, worker_threads в Node.js
45:52
Timur Shemsedinov
Рет қаралды 10 М.
PROOF JavaScript is a Multi-Threaded language
8:21
Beyond Fireship
Рет қаралды 290 М.
Node.js Tutorial - 61 - Cluster Module
15:10
Codevolution
Рет қаралды 38 М.
How to create a child process in nodejs (exec, execFile and spawn)
13:39
Require vs Import Javascript
22:39
Monsterlessons Academy
Рет қаралды 80 М.
Семафоры и мьютексы в JavaScript и Node.js
1:19:06
Timur Shemsedinov
Рет қаралды 10 М.
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 6 МЛН