Задача
Разработать backend-систему мониторинга для игровых серверов. Система должна периодически отправлять HTTP-запросы к специальному endpoint, предоставляемому Java-плагином на каждом сервере, собирать метрики (состояние сервера, количество игроков и т.д.) и сохранять их в базу данных. Важно обеспечить возможность проверки прав собственности сервера (исключить непроверенные источники) и организовать распределённое выполнение запросов с помощью очередей и воркеров.
Основные требования
- Периодический опрос (пинг) HTTP endpoint на каждом сервере
- Сохранять полученные метрики и статусы в базе данных (рекомендуется PostgreSQL или MongoDB)
- Реализовать проверку “права собственности сервера”: верификация, что сервер действительно принадлежит владельцу
- Обработка сотен серверов с помощью очередей и воркеров (например, на базе RabbitMQ, Redis Queue или аналогичных решений)
- Архитектура должна позволять запускать несколько воркеров на разных машинах для горизонтального масштабирования
- Возможность интеграции с уже существующим кодом - Java-плагином HytaleQuery
- Разработать API для доступа к данным: получение последнего статуса сервера, история метрик, статистика
Дополнительные детали
В рамках разработки также требуется “вырезать” незавершённую часть с правами собственности с веб-стороны и реализовать её на backend. Для периодичности можно использовать cron или планировщик внутри приложения (например, Celery Beat). Предпочтительный язык - Python (с фреймворками FastAPI или Django Rest Framework), но возможно и Ruby / PHP. От исполнителя ожидается готовность к испытанию масштаба - предполагается размещение сотен серверов, включённых в систему.
Контакты в описании отсутствуют; никакие конкретные бренды или URL не указываются.