В 2020—2021 годах при участии Фонда Сколково мы разработали новую технологию распределенного высокопроизводительного сбора данных на сайтах NewMetabus. Это позволило увеличить скорость и объем собираемых данных, а также автоматически обходить блокировки, защищающие содержимое страниц от сбора информации.
В рамках разработки новой технологии была улучшена архитектура решения — сбор данных с сайта вместо одного монолитного процесса заменен на последовательность шагов, каждый шаг — это последовательность атомарных действий. Улучшена производительность бэкэнд части worker node и управляющей master node.
Ключевым элементом системы является информация о состоянии сборов для балансировки запусков по расписанию и нагрузки. Реализована поддержка распределенного запуска по расписанию, которое формируется автоматически на базе настроек клиентов с учетом нагрузки узлов.
Новая технология сбора данных позволяет:
- легко балансировать нагрузку и скорость сбора за счет выполнения шагов параллельно;
- перезагружать узел, не прерывая при этом процесс сбора данных;
- в случае ошибок, повторяется только шаг, на котором произошел сбой, без необходимости запуска всего сбора сначала;
- высокий уровень надежности, при сбое одного из узлов система переназначит его задачи на другой и процесс продолжает выполняться с того места, где остановилась;
- динамически, без перезагрузки, масштабировать систему, добавляя при необходимости, новые воркер-узлы.




.svg.png&w=3840&q=75)







