@MuscleC

Правильно ли так распределять процессы?

Привет всем. Делаю проект NodeJS+Redis
Начинал для самообучения. Целью было разобраться с веб-сокетами, построить реалтайм-приложение для сбора людей в некое лобби для игр.
Изначально, все было в одном процессе, где были:
- сокет-сервер
- все subscribe на несколько инстансов Redis
- API на основе express
- запросы к другой API
- Таймеры - различные функции, срабатывающие с задержкой - `setInterval` - например, автоматический выбор чего-либо, при условии, что группа пользователей не успела сделать выбор самостоятельно.
После рефакторинга, я разнес проект на отдельные процессы:
1. Сокет-сервер + redis sub для доступа к шине данных, которые нужно отправить по сокетам.
2. API-сервер + redis sub
3. API-клиент + redis sub
4. Redis sub - для прочих задач.
И полностью убрал `setInterval`, заменив его на `Redis EXPIRE`.
Целью было избавить процесс Сокет-сервера от всего что не связано с сокетами. На деле же вся нагрузка легла на Redis для отправки команд в различные процессы, хранения временных данных.
Процессами управляю при помощи pm2.
1. Не слишком ли это, как считаете?
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы