@JSlang

Страница 966 из 2237
Rafael
12.06.2017
18:37:10
Ребзь, вебворкеры === потокам?

т.е допустим если мне нужно замутить мьютекс лапорта, то не будет разницы если я запущу несколько инстансов ноды и общение через сокеты или просто внутри одного скрипта запущу столько же вебворкеров?

Google
Rafael
12.06.2017
18:48:02
Ywein
12.06.2017
18:49:14
ээ, это же v8
V8 это интерпретатор js, он не имеет отношения к браузерным апи

Daniel
12.06.2017
18:49:26
В ноде можно процессы запускать и так

Вебворкеры точно так же общаются сообщениями

Ywein
12.06.2017
18:51:08
Просто нода многие функции браузерных апи имплементирует

Допустим setTimeout в js отсутствует

Дмитрий
12.06.2017
18:51:39
rtfm

В ноде cluster

Но да, это отдельные потоки

Artem
12.06.2017
18:52:37
процессы же

Дмитрий
12.06.2017
18:52:54
Ждём SharedArrayBuffer, будет вообще пушка

Ywein
12.06.2017
18:53:45
Там еще есть child_process

Google
Ywein
12.06.2017
18:54:00
Это очень близко к вебворкерам

Дмитрий
12.06.2017
18:55:08
По факту, да

Даже видел либы, унифицирующие подходы

Rafael
12.06.2017
18:56:10
так, тогда подскажи что юзать для имитации распределенной системы

Artem
12.06.2017
18:56:30
распределённости в каком плане? Между разными машинами?

Rafael
12.06.2017
18:56:57
распределённости в каком плане? Между разными машинами?
мне нужно эмулировать несколько общающихся между собой серверов

Artem
12.06.2017
18:57:17
тогда вроде у тебя алтернатив сокетам нет

Дмитрий
12.06.2017
18:57:38
Если реально эмулировать, то очевидно что у тебя выбора особого нет и нужно делать модель максимально бллизкую к референсу

Дмитрий
12.06.2017
18:58:37
Просто используй докер)

Rafael
12.06.2017
18:58:44
Artem
12.06.2017
18:58:46
в юникс можно процессы + pipe
тебе насколько важна "эмуляция"? Если пофигу на трансфер, то можно и в контексте одного потока всё делать, общението асинхронное

Дмитрий
12.06.2017
18:58:52
Тем не менее, для тебя тогда будет достаточно cluster

Хахах, годный ник))

Artem
12.06.2017
19:02:00
асинхронность не вариант, тогда иначе смысл писать мьютекс лампорта
эмн, ты в распределённой системе в любом случае работаешь асинхронно из-за сетевого взаимодействия. Добавь рандомные задержки на генерацию событий и будет тебе отличный тестовый стенд

Google
Дмитрий
12.06.2017
19:03:47
7.6+

Artem
12.06.2017
19:03:48
http://node.green/

Rafael
12.06.2017
19:04:31
сяб

Ywein
12.06.2017
19:26:32
Rafael
12.06.2017
19:27:28
Так сделай насколько серверов
ну вот не знаю даже, вроде и да, а вроде и сложновато

Daniel
12.06.2017
19:27:39
Так стоп, если на одной машине, то можно общатсья встроенными инструментами

родительский процесс может с дочерними

форкнутыми

Daniel
12.06.2017
19:27:53
с помощью сообщений

Rafael
12.06.2017
19:28:04
с помощью сообщений
это вебворкеры?

Daniel
12.06.2017
19:28:15
child_process в ноде

Daniel
12.06.2017
19:28:15
модуль

Ywein
12.06.2017
19:28:24
ну вот не знаю даже, вроде и да, а вроде и сложновато
Чего сложного. Запусти ноду два раза на разных портах

Что может быть проще)

Ywein
12.06.2017
19:29:09
а если больше?
Запусти больше

5 - 10?
Порты не закончатся от этого)

Daniel
12.06.2017
19:29:39
ну есть же child_process, можно спавнить с параметрами как в командной строке

Google
Daniel
12.06.2017
19:29:45
у них есть мессваджи встроенные

это в ноде уже давно

Andrew
12.06.2017
19:29:53
Ywein
12.06.2017
19:30:32
ну есть же child_process, можно спавнить с параметрами как в командной строке
Не так если человек хочет эмулировать много серверов. Иначе можно кластер просто

Daniel
12.06.2017
19:32:11
ну да, кластер даже проще

Rafael
12.06.2017
19:32:54
все таки вы за то, чтобы поднимать отдельные ноды? и общение через socket io?

Daniel
12.06.2017
19:34:08
вообще для таких вещей есть более специализированные вещи

типа RabbitMQ

Admin
ERROR: S client not available

Daniel
12.06.2017
19:34:24
если уж общаться между процессами в классическом понимании

где все равноправны

Ywein
12.06.2017
19:34:34
все таки вы за то, чтобы поднимать отдельные ноды? и общение через socket io?
Если тебе нужно много серверов и предполагается что это имеет практический смысл(к примеру они потом на разных физических серверах будут) - да

Саша
12.06.2017
19:34:36
дада кстати

Rafael
12.06.2017
19:35:03
Ради дз поднимать rabbitMQ это оверхед

Саша
12.06.2017
19:35:20
с реббитом становится удобнее общаться между микросервисами

Daniel
12.06.2017
19:35:35
тогда лучше подними один скрипт, который спавнит чайлд процессы через встроенный модуль и общается с ними

хотя, сокет ио

это всегда решение, грубое

но решение

Сергей
12.06.2017
19:35:53
https://medium.com/dev-channel/es6-modules-in-chrome-canary-m60-ba588dfb8ab7

Google
Daniel
12.06.2017
19:36:24
кластер однотипные поднимает, или я неправильно понимал его суть

https://medium.com/dev-channel/es6-modules-in-chrome-canary-m60-ba588dfb8ab7
а сафари уже почти год как поддерживает, но никому нет дела до сафари

Ywein
12.06.2017
19:37:27
Если нет то просто отдельные ноды

Daniel
12.06.2017
19:39:33
да

полноценная поддержка ес6 модулей была

с сентября

Daniel
12.06.2017
19:44:27
Не могу найти по дате нормально, но с 10.1 поддерживается полностью

я примеры читал ещё зимой

Сергей
12.06.2017
19:45:52
ща проверим

а сафари уже почти год как поддерживает, но никому нет дела до сафари
просто процент сафари очень низкий подавляет все браузеры хром))

Сафари умеет

Хром 61+ канарейка не смог

вообще не пишет ничего ни ошибок нифига

А нет

я не тот флаг активировал

модули теперь работают в хроме

Страница 966 из 2237