12 подписчиков
Все мы писали парсеры.. Приступим к system design
Нужно спроектировать систему, которая будет периодически запускать парсеры на разных языках и сохранять данные, которые в дальнейшем будет забирать ML команда для дальнейшей обработки. Управление парсерами должно быть гибким, с возможностью настройки периодичности и ручного запуска.
Обсуждаем решение в комментариях к посту, а рисовать можно в draw.io https://drive.google.com/file/d/1NXkfZltpnxNJprKgSPPhiw36lAMg5ioM/view?usp=sharing (если возникнут трудности с подключением, пишите).
Допущения:
* Используемые языки для парсеров: Python, R, JS, PHP.
* Один парсер может запускаться одновременно во множестве инстансов, чтобы обрабатывать в параллель множество страниц конкретного сайта.
* Парсеры могут работать продолжительное время, вплоть до нескольких часов.
* Общее количество парсеров не превышает 1000.
* Парсеры собирают только текстовые данные.
* Объём ежедневно собираемых данных — до 10Gb.
* Данные хранятся в течение 3 лет.
Какие технологии и подходы вы бы выбрали для реализации такой системы? Как вы организуете хранение данных, управление нагрузкой и мониторинг работы парсеров? Как обеспечить гибкость в настройке периодичности и ручного запуска?
1 минута
11 ноября 2024