Ну сокеты между цефом и экспрессом никакого смысла не несут, скорее наоборот.
Я в целом про преимущества 2 бека, экспресс и сокеты как частный пример просто
Ну вот и эти - на самом деле тоже.
Это буквально архитектурная катастрофа, кроме шуток.
Че ты получаешь - сериализацию, десериализацию, лишний латенси, при этом экспресс - это просто прокси по сути.
Не какой-то асинхронный брокер, не кэш - просто прокси. Ну, ты просто добавляешь сетевой слой абсолютно без причины.
Тейк "убрать возможные задержки" - буквально не работает, потому что запрос-экспресс-скл-ответ-экспресс-альтв работает ну, дольше, очевидно.
Ты тупа увеличиваешь латенси ради "разделения логики", которое на самом деле - тоже кривое.
Ты теряешь типизацию, инъекцию зависимостей, контекст вызова, разъёбывая инкапсуляцию в процессе.
В хттп запросе тупа даже прямая связь с образным alt.player или как там это у вас - теряется, вообще гарантий нет что запрос не curl просто дёрнул.
Ну и архитектурно, если вспомнить про солид и срп - у тебя экспресс, который должен отвечать только за транспорт, корс там хуй знает, мидлвари - оказывается обвешен валидацией, бизнес-логикой и ещё и транзакциями какими-то внутри, потому что без этого оно просто не будет работать так как надо.
А у тебя уже есть нода, у тебя уже там всё это есть.
Но тебе просто придётся дублировать - два репозитория, два источника правды.
Ну да, это изолирует логику от игрового движка
А нахуя? Ну, это не оптимизация, это архитектурный онанизм.
Тебе не нужно изолировать логику ОТ игрового движка, тебе нужно разделить логику ВНУТРИ сервера по слоям.
Изолировать ответственности, а не процессы и технологии, архитектура - она про это.
Это всё буквально можно сделать внутри одного процесса, через нормальный орм, асинк вызовы и слои бизнес-логики.
Ну и чего там у вас в ноде есть, воркер-треды, редис в конце концов.
Но не хттп запрос в соседний процесс же
Чтобы быть честным, когда подобное имеет место быть
Когда у тебя какая-то легаси архитектура, огромный бек с бизнес-логикой, и альтв - просто один из игровых мостов, например.
Когда нужна зачем-то жесткая изоляция - если альтв почему-то в какой-то небезопасной среде.
Но ну
Да
Даже при условии "сайты", "боты" и так далее - да напиши сервис для них прямо на серваке со своим апи-ендпойнтом, который будет точно так же обрабатываться асинхронно этой же нодой - это ровным счётом никак не повлияет на сервак.
Ну будут тебя дудосить через телегу - повесь рейт-лимиты, изолируй роуты, да хоть таймер въебаш
Это мне с одной стороны напоминает людей, которые упорно пытаются заполнять текстовые файлики, считая что все современные рбд просто придумали дегенераты, а с другой - у тебя как будто бы правильный посыл изолирования логики, что здорово в разработке - но при этом ты забываешь наглухо про принцип единственной ответственности - изменится формат апи придётся лезть в экспресс, изменится бизнес логика - придётся лезть в экспресс, изменится бдшка - придётся лезть в экспресс.
А так не должно быть
Ну в целом не говоря про то, что на самом деле ты не решаешь проблему, которая считаешь что есть - а только увеличиваешь её, ещё и попутно плодя лишнюю инфраструктуру.
Вот