Size: a a a

2021 May 17

AA

Anri Asaturov in ctodailychat
ну вебртц у нас от твилио и агоры, а на апи сервера не такая уж прям нагрузка, вот с сокетом только проблемы, пишем автоскейл, а то руками приходится да
источник

СА

Сергей Аксёнов... in ctodailychat
Мы в iFunny, кстати, написали собственный чат-сервер, на реактивном Котлине, масштабирующийся. Сейчас работает на кластере из 3 машин, в пике 15 сообщений в секунду прокачивают, CPU 40% при этом. Плюс мы их ещё в базу сохраняем, что вам не нужно.
источник

AA

Anri Asaturov in ctodailychat
15 в сек это в один чат или как?
источник

AA

Anri Asaturov in ctodailychat
там проблема у нас в фанауте, траффик вменяемый, но число сообщений слишком большое когда в одной комнате 50 чел могут слать 30 сообщений в сек на 49 остальных чел
источник

СА

Сергей Аксёнов... in ctodailychat
Во все, суммарно.
источник

AA

Anri Asaturov in ctodailychat
а база какая?
источник

СА

Сергей Аксёнов... in ctodailychat
У нас сейчас лимит на комнату - 500, но мы проверяли, оно может и больше.
источник

СА

Сергей Аксёнов... in ctodailychat
Монга
источник

СА

Сергей Аксёнов... in ctodailychat
Но если у вас сообщения вида "я подвинулся"/"я говорю"/вошёл/вышел, то их в базу-то писать не надо.
источник

AA

Anri Asaturov in ctodailychat
наша нода короче корчится и плачет )
источник

AA

Anri Asaturov in ctodailychat
в базу не надо, но, скажем если делать стейтлес сокеты для скейла - то надо в редис
источник

СА

Сергей Аксёнов... in ctodailychat
источник

AA

Anri Asaturov in ctodailychat
мы кстати в порядке эксперимента вынестли эту механику в cloudflare workers + durable objects, очень прикольно писать под это, но там все пока в бете, стремно
источник

AM

Aga Mahmudov in ctodailychat
А почему не слезли с Ноды и Монги?
источник

СА

Сергей Аксёнов... in ctodailychat
Стейт же надо ограниченный хранить: мебель в комнате, список юзеров с позициями и аватарками. А дальше из сокета изменения получать?
источник

AA

Anri Asaturov in ctodailychat
Монга это не у нас, а с ноды так быстро не слезть, есть уже команда и код
источник

AM

Aga Mahmudov in ctodailychat
В идеале выйти в микросервисы и постепенно переписывать
источник

AA

Anri Asaturov in ctodailychat
да, но позиции обновляются с той же частотой
источник

AA

Anri Asaturov in ctodailychat
ну мы там пока перебираем варианты пока, тестируем, но вообще это же еще проблема tcp
источник

СА

Сергей Аксёнов... in ctodailychat
Ну будет небольшой лаг между входом и синхронизацией всех позиций.
источник