Архитектурный проектный документ
Мониторинг качества данных является одним из важнейших этапов обработки больших данных и служит обязательным условием для поддержки таких видов деятельности, как предоставление услуг данных, анализ данных и их извлечение.
Был предложен сервис управления качеством данных Qualitis на основе платформы больших данных. Он предоставляет унифицированный процесс для определения и проверки качества наборов данных и своевременного оповещения о проблемах.
Термин | Значение |
---|---|
Проект (project) | Набор правил, определяющих ответственных за оповещение и уровень оповещения, и являющийся одной из единиц планирования задач. |
Правило (rule) | Определение модели качества данных источника данных, которое определяет, будет ли выдано оповещение, и является основной единицей планирования задач. |
Задача (application) | Задача мониторинга качества данных, которая позволяет просматривать результаты проверки качества данных путём выполнения задачи мониторинга качества данных. |
Поскольку каждый бэкэнд-сервис Qualitis является идемпотентным, для реализации серого функционала достаточно изолировать отдельный бэкэнд-сервис, чтобы он не мог принимать запросы пользователей.
Все сервисы Qualitis являются идемпотентными, поэтому можно реализовать балансировку нагрузки между несколькими сервисами Qualitis. Как показано на рисунке ниже:
Балансировка нагрузки не только обеспечивает высокую доступность, но и повышает производительность.
Что касается дизайна производительности, были предложены следующие решения, которые пока не реализованы:
Из-за существования нескольких экземпляров Qualitis может возникнуть ситуация, когда несколько экземпляров одновременно обновляют состояние задачи мониторинга. Поэтому необходимо решить проблему синхронизации процессов.
Система Qualitis использует Zookeeper для координации нескольких процессов, и несколько экземпляров Qualitis конкурируют за создание временных узлов в Zookeeper. Экземпляр, успешно создавший временный узел, становится ролью Monitor и отвечает за обновление состояния задачи мониторинга.
При запуске задачи мониторинга необходимо подключиться к хранилищу метаданных Hive, чтобы определить, существует ли база данных для сохранения данных, не прошедших проверку.
Если количество отправленных задач мониторинга велико, это может создать значительную нагрузку на хранилище метаданных Hive. Поэтому необходимо ограничить количество отправляемых задач.
В системе Qualitis используется пул потоков для ограничения количества подключений к хранилищу метаданных Hive. Если поток не может быть получен из пула потоков, задача будет ожидать до тех пор, пока поток не станет доступным, а затем подключится к хранилищу метаданных Hive.
Внутренние интерфейсы в основном делятся на две категории:
Разделение прав доступа пользователей осуществляется с помощью двух разных методов определения интерфейсов.
Внешний интерфейс определяется по URL: /qualitis/outer/api/v1/* Для вызова этого типа интерфейса необходимо добавить следующие параметры в запрос:
Параметр | Обязательный | Тип | Описание |
---|---|---|---|
app_id | Да | string | Системно назначенный идентификатор авторизации приложения APP_ID. |
timestamp | Да | string | Отметка времени. Временная метка в миллисекундах, срок действия: 7 дней. |
nonce | Да | string | Случайное число длиной 5 символов. |
signature | Да | string | Зашифрованная подпись. md5(md5(appId + nonce + timestamp) + appToken), где md5 генерирует 32 символа в нижнем регистре. |
App_id и appToken должны быть предоставлены администратором внешней системе.
Структура системы может быть разделена на два уровня: веб-уровень и основной уровень.
Веб-слой в основном включает контроллеры и службы, предоставляя внешние услуги. Основной слой в основном включает основную логику кода и слой хранения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )