Skip to content

Система сравнения инстансов

Задача системы - дать пользователям место на каждом инстансе, где они могут понять состояние сети Pepeunit

Единый сервис парсер

  1. Сервис опражшивает все инстансы которые он знает о их состоянии
  2. Сервис обходит все досупные инстансы за 1 час, равномерно распределяя запросы
  3. При отдаче данных, нужно отдавать инкремент за 3 часа, а если отдавать всё целиком, то как минимум с большим лимитом на 1 ip
  4. По ip определяется примерная геолокация, ping, и тд
  5. Элементы добавляются вручную
  6. Данные из сервиса парсера, кэшируются 1 раз в час

Генерация данных для парсера

  1. Ручка domain.com/pepeunit: Отдача состояния системы с настройками, происходит через REST и GQL запрос с кешом и обновлением раз в 1 час
  2. Ручка gql и rest отдающая список доменов, которые есть у инстанса с пагинацией конечно же

Данные включают:

  1. Базовые фича флаги инстанса
  2. Базовые настройки инстанса
  3. Когда в последний раз прошли интеграционники и результат
  4. Статистики инстанса
  5. Контакты владельца инстанса
  6. Убрать автора, стало избыточной информацией

Админ сможет

  1. Вызов интеграционных тестов с фронтенда, пароли все при этом генерируются уже рандомно, в целом тесты перестроены, чтобы вызываться без проверки функционала приватных репозиториев, через спец флаг, тесты должны учитывать фича флаги
  2. Кнопка принудительного сканирования внешних инстансов, проходит по всем доменам отдельно и уточняет информацию
  3. Кнопка принудительного сканирования конкретного инстанса
  4. Кнопка узнающая у других инстансов, о их списке доменов, позволяет синхронизировать списки доменов у разных инстансов
  5. В целом все рутинные задачи, должны отчитываться о своём выполнении более качествено, думаю можно изобрести таблицу в бд, где будет статус последнего исполнения всех основных рутинных задачек
  6. Вести Чёрные/Белые списки

Реализация

Нужна таблица instances для хранения всех доступных инстансов:

  • Домен инстанса
  • ip адрес инстансов
  • ping
  • информация о геолокации
  • Время сбора информации
  • Накопительный каунтер, числа положительных сборов данных
  • Статус последнего сбора информации
  • Ошибка сбора если есть
  • хранение json ответов целиком, работать будем по версии схем, чтобы добиться универсальности между разными инстансами. Каждая последующая версия, будет знать о нюансах предыдущих
  1. Потребуется полностью перестроить концепцию интеграционных тестов
  2. Нужно сделать факт чекинг конфига при запуске, по некоторым переменным, например контактам owner

Фронтенд или графана, надо подумать

  1. Указывается карта с геолокациями серверов
  2. Таблица с сортировками по всем параметрам