Разделите каталог источников, очередь заданий, ограниченные по API workers, raw-слой S3 и контроль загрузок. Аналитику дайте декларативный интерфейс, а не доступ к секретам.
Как бы вы спроектировали масштабируемую загрузку данных из множества REST API: от получения данных до S3, с интерфейсом для аналитика?
Разделите каталог источников, очередь заданий, ограниченные по API workers, raw-слой S3 и контроль загрузок. Аналитику дайте декларативный интерфейс, а не доступ к секретам.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите каталог источников, очередь заданий, ограниченные по API workers, raw-слой S3 и контроль загрузок. Аналитику дайте декларативный интерфейс, а не доступ к секретам.
В конфигурации задают источник, расписание, схему и допустимый инкрементальный курсор. Workers соблюдают rate limit, пагинацию, таймауты и retry с backoff; прогресс фиксируют после надёжной записи. Сырые ответы сохраняют с метаданными загрузки, а публикацию набора подтверждают manifest. Нужны идемпотентность, карантин ошибок, наблюдаемость и повторная обработка. Произвольные URL ограничивают, чтобы интерфейс не превратился в SSRF-доступ к внутренней сети.