Требуется специалист по Node.js / Redis
🧩 Техническое задание (ТЗ) для разработчика
Проект: Настольные онлайн-игры (Domino, Backgammon и др.)
Стек: Node.js + Express (клиент + сервер)
Задача: Настройка Redis для масштабирования и исправление багов
📌 Что нужно сделать
Установка и настройка Redis
Установить Redis на сервер.
Настроить его для кэширования и синхронизации данных между процессами.
Обеспечить корректную работу при запуске проекта в нескольких процессах (PM2/cluster).
Интеграция Redis в проект
Подключить Redis к существующему Node.js + Express приложению.
Настроить pub/sub или socket.io-redis для обмена событиями.
Синхронизировать данные (онлайн, комнаты, игровые действия).
Исправление ошибок после интеграции
После тестов на 2 ядра были выявлены проблемы:
Игроки в комнатах не видят друг друга до обновления страницы.
При старте игры: игрок сделал ход, а соперник видит камни только после нескольких F5.
Список онлайна обновляется некорректно (у одного видно, у другого нет).
Появляются дубликаты игровых элементов (домино-камни, фишки).
На одном ядре работает идеально, на 2–3 — начинаются эти баги.
👉 Нужно найти причину и исправить так, чтобы всё работало стабильно при многопроцессном запуске.
WebSocket / Socket.io
Проверить и настроить работу через Redis Adapter.
Исключить потерю событий и рассинхрон между игроками.
Проверить стабильность при 8+ ядрах.
Оптимизация использования памяти Redis.
Настройка TTL для ключей.
Документация по установке/запуску Redis на новых серверах.