Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 June 12

Y

Yaroslav in NodeUA - JavaScript and Node.js in Ukraine
Обычно приложения есть двух видов. Первый - достаточно кеша и одного сервера. Второй - нагрузка такая, что даже при сферисеском коне оптимизации все равно упретесь в сеть)
Пришёл трафик - нужно размазать по серверам или лямдам. Да, даже с ssr можно построить пайплайн и там где проблема (обычно это вагон айтемов для индексации) отдавать лямдами
источник

IF

Igor Filippov in NodeUA - JavaScript and Node.js in Ukraine
Пайплайн, лямбды, мне это все как заклинания звучит. Я просто поделился опытом, как у нас ССР обслуживаются.
источник
2021 June 13

О

ОЛЕГ in NodeUA - JavaScript and Node.js in Ukraine
JS - однопоточный, поэтому всё что нам остаётся запускать побольше экземпляров V8. Насколько я знаю наиболее эффективными для этого являются worker threads
источник

О

ОЛЕГ in NodeUA - JavaScript and Node.js in Ukraine
В SSR рендерингом занимаеться JS, и нода тут почти ничем помочь не может
источник

IF

Igor Filippov in NodeUA - JavaScript and Node.js in Ukraine
Можно с помощью cluster плодить процессы, которые загадочным образом связаны с кол-вом ядер) В моем понимании это и есть потоки. Мож я ошибаюсь конечно с терминологией, не знаю
источник

О

ОЛЕГ in NodeUA - JavaScript and Node.js in Ukraine
Масштабирование через cluster уже устраивает, на замену этого пришли worker threads. Можете почитать в документации ноды
источник

IF

Igor Filippov in NodeUA - JavaScript and Node.js in Ukraine
да я читал
источник

О

ОЛЕГ in NodeUA - JavaScript and Node.js in Ukraine
Ну это не потоки, просто там на каждый воркер запускаеться свой V8 и LibUV, которая занимаеться асинхронностю
источник

О

ОЛЕГ in NodeUA - JavaScript and Node.js in Ukraine
Но потоков в привычном понимании нету
источник

IF

Igor Filippov in NodeUA - JavaScript and Node.js in Ukraine
А почему эти процессы тогда завязаны на кол-во ядер? Там же идет по 2 процесса на ядро
источник

IF

Igor Filippov in NodeUA - JavaScript and Node.js in Ukraine
Тот же Erlang VM может хоть 100500 процессов на одно ядро наплодить насколько мне известно, для примера
источник

О

ОЛЕГ in NodeUA - JavaScript and Node.js in Ukraine
В таких языках программирования потоки, это некоторые процессы которые делают какое-то дело и умирают
источник

IF

Igor Filippov in NodeUA - JavaScript and Node.js in Ukraine
Например в этом курсе https://www.udemy.com/course/advanced-node-for-developers/ автор показывает пример многопоточности на примере метода crypto.pbkdf2 который написан на C++ по-моему и там как раз ограничение идет в 2 потока на каждое ядро
источник

IF

Igor Filippov in NodeUA - JavaScript and Node.js in Ukraine
Ага, уже понятнее, спасибо
источник

О

ОЛЕГ in NodeUA - JavaScript and Node.js in Ukraine
Как мне известно один воркер работает на одном ядре, но система считает за ядра то что вам в магазине назвут "потоками"(Hyper-Threading)
источник

KL

Konstantin Lobkov in NodeUA - JavaScript and Node.js in Ukraine
Посмотрел https://youtu.be/4AMVQ2-2DcM

Вот скажите, почему класс Application в Impress создает инстансы внутри себя, а не получает их как зависимость? Это можно было бы вынести в какую-нибудь factory.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Инстансы чего?
источник

DH

Dima Haponov in NodeUA - JavaScript and Node.js in Ukraine
Не понял честно говоря - уточняйте вопрос
источник

KL

Konstantin Lobkov in NodeUA - JavaScript and Node.js in Ukraine
Всех зависимостей. Cache, resources итд. Application создаёт все в конструкторе
источник

KL

Konstantin Lobkov in NodeUA - JavaScript and Node.js in Ukraine
this.api = new Interfaces('api', this);
   this.static = new Resources('static', this);
   this.resources = new Resources('resources', this);
   this.lib = new Modules('lib', this);
   this.domain = new Modules('domain', this);
   this.schemas = new Schemas('schemas', this);
источник