170 похожих чатов

Всем привет. У меня появилась необходимость нескольким модулям внутри процесса

общаться через шину, взаимодействие через вызов методов в сложившейся ситуации без тотального рефакторинга или копипаста невозможен (идет зацикливание зависимостей). Проблема легко решается "разрывом" через события в шину, но тут есть следующая проблема - поднимать ради этого редис/кафку/иное - жесткий оверхед и потери времени. IRC черех process.send() / process.on('message') для формата "сам с собой" тоже недоступен. Есть ли какой-то вариант решения проблемы CORE-возможностями ноды (REST/WS и подобное тоже не самый подходящий вариант)?

6 ответов

14 просмотров

Если общение будет в одном сервисе, может сделать один EE (https://nodejs.org/api/events.html#class-eventemitter) синглтоном и общаться через него?

Артем-Zuev Автор вопроса

Тут вроде бы как просится ответ про EventEmitter, но не факт, что выбрав его, не будете потом жалеть. Для того, чтобы код с их использованием не превратился в помойку, надо выделять слои и писать конфиги. Делать всё то же самое, что делали бы, если бы потребовалось тянуть сторонний брокер Поэтому я бы предложил сразу тянуть сторонний брокер. Если накладные расходы очень страшат, не нужны фишки, которые дают кролик и Кафка (фишки у них разные), и не нужно масштабирование (в том плане, что есть гарантия, что посланные в одном процессе события точно должны быть пойманы в этом же процессе) - выбирайте zeromq или nanomsg (решение от того же автора, но более позднее, и когда я его использовал было более сырым)

Артем-Zuev Автор вопроса
Алексей Попов
Тут вроде бы как просится ответ про EventEmitter, ...

ВременнЫе потери большие - до 300-400мс бывает, это много

Артем Zuev
ВременнЫе потери большие - до 300-400мс бывает, эт...

Тут что-то не то. 300 мс потеря это очень много. При правильной настройке / использовании таких не должно быть

Алексей Попов
Тут вроде бы как просится ответ про EventEmitter, ...

Я вот стараюсь не использовать вообще EventEmitter ибо не умею им пользоваться чтобы не было утечек памяти)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта