main -> вьюшка на js
http rpc -> там тупо прокси между http и tcp rpc (на основе fasthttp). Все остальные сервисы
работают по RpcTcp
auth service -> сервис отвечает за раюоту с учётками узеров. У него своя бд (auth db)
возвращает jwt
service all function -> там все функции которые по идеи не создают большой нагрузки. Как
только какая то функция из того сервиса отнимет 30% обращений к
сервису она будет перенесена в отдельный сервис.
battle service -> этот сервер просто знает на какой ноде создана комната (battle node)
battle bot -> Бот. Работает со всеми нодами.
chat * аналогичен battle части только вместо бота там авто модератор. Он модерит
публичные чаты автоматом (примитивный фильтр мата за который автоматом банит в
чате)
каждая нода имеет своё хранилище. А в all function для каждого модуля (какая то фича) тоже своя бд дабы в случае большой нагрузки я спокойно мог вынести всё это дело в отдельный сервис.
Бот и модератор маштабируются путём указания адресов к ним в конфигах ноды)