Evgeny
Сокет же не тронет карту
Evgeny
Если только они ипс через внешний интерфейс не гоняли
Oleg 🍺
IPC сейчас гоняется через юникс сокеты
Evgeny
Энивей, у меня просто шина 17, сокет - 1.3
Oleg 🍺
Я сам лично видел
Oleg 🍺
Да
Oleg 🍺
Редис говорят не справился с этой задачей
Oleg 🍺
Есть мастер процессы, в которые прилетают события назначенные определённому пользователю, далее мастер процесс находит воркер, к которому подключён юзер и передаёт в него через IPC предназначенное сообщение, и далее этот воркер отправляет это сообщение
Evgeny
Стоп. А там не 200 процессов на сервер?
Oleg 🍺
Нет, серверов овер дофига
Oleg 🍺
Проблема начинается, тогда когда событий слишком много
Aleksand
Oleg 🍺
Раза в три увеличивается - у меня сейчас нет точных цифр, но ребята говорят были проблемы когда новый сервис запускали
Evgeny
Oleg 🍺
Типо CPU уходил в 100% на сервере
Aleksand
Oleg 🍺
Я так понимаю, там сервис очень много слал событий, которые должны предназначаться определённому юзеру
Oleg 🍺
Если бы был простой бродкаст, то проблем бы не было
Oleg 🍺
Кстати, с каждым днём прихожу к выводу, что протокол GraphQL очень даже хорошо, и всё что сейчас городят проекты такое уг
Oleg 🍺
Один батч запрос через GraphQL и всё бы нужные данные быстренько прилетели, правда это бы не решило проблемы с ивентами для определённых юзеров
Vladimir
GraphQL здесь не при чем
Aleksand
Oleg 🍺
Oleg 🍺
Возможно, я с этой архитектурой знаком только дня два)
Aleksand
Oleg 🍺
Ну я вижу сколько сейчас в пик приходится, сколько CPU на данный момент и прикидываю, что происходит, когда CPU 100%
Aleksand
Oleg 🍺
Да, но ведь в пиковой нагрузке приходится 1 мнл пакетов
Aleksand
для понимания где в ноде тонкие места и когда эвентлуп начинает сдавать
Aleksand
https://githubengineering.com/brubeck/
Oleg 🍺
Это на все сервера
Oleg 🍺
Aleksand
и это про udp, про tcp иначе может быть
Aleksand
Спасибо 👍
там подробно где во что нода упирается
Aleksand
сложно представить что вы по прессингу пакетами обогнали гитхаб
Aleksand
Oleg 🍺
Да, графана
Oleg 🍺
Я посчитал кол - во серверов * кол-во пакетов на сервер
Aleksand
Да, графана
какова их структура? если это бинарные данные от пользователя это одно, если это сообщения в websockets это совсем другое
Oleg 🍺
Это только сообщения websocket
Aleksand
Oleg 🍺
Да
Aleksand
а клиентов в пике сколько?
Oleg 🍺
Этой статистики у меня нету
Oleg 🍺
А есть
Aleksand
Да
соединений от клиентов сколько?
Oleg 🍺
Ща графана загрузит данные
Oleg 🍺
Не могу сказать сервер с этой аналитикой не отвечает
Oleg 🍺
Да, естественно
Oleg 🍺
Просто мы очень много данных гоняем
Oleg 🍺
Сейчас нагрузка маленькая около 60000 пакетов в секунду
Aleksand
Да, естественно
а что это за проект если не секрет? он же публичный наверняка
Oleg 🍺
Финансовый
Aleksand
Финансовый
клиенты - это реальные люди? или боты?
Oleg 🍺
Я не знаю что это, но может она есть
Oleg 🍺
Реальные люди
Oleg 🍺
Это всё есть ofc
Oleg 🍺
Я же тоже не могу всё рассказать)
Denys
Всем привет. Посоветуйте книгу по ноде для начинающего, на русском)
Denys
Спасибо)
D
#whois
- SPA на Vue.js
- Full Stack
- Опытом
- Есть проект на Node.js
- Астана
- Поиск
Islomkhodja
Promise это сахар синтаксисный или работает по другому? в тесте показывает что коллбеки быстрее..
Islomkhodja
Islomkhodja
Ihor
ну я могу еще посетовать на то что в этом случае надо каждый раз создавать объект Промисов и возвращать его
Ihor
всяко тяжелее, чем просто колбек вызвать
D
Gleb
Ihor
но разница в производительности между колбеками и промисами слишком мала чтобы серьезно задумываться)
Ihor
промисы удобные.
Ihor
и оно того стоит