Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про CI/CD: airflow, architecture

Из каких основных компонентов состоит Airflow?

Вопрос проверяет понимание архитектуры Airflow и того, какие компоненты за что отвечают в системе.

Короткий ответ

Airflow состоит из нескольких ключевых компонентов: scheduler, webserver, metadata database и executor. Scheduler решает, какие задачи и когда запускать. Webserver предоставляет интерфейс для мониторинга и управления. Metadata database хранит состояние DAG и задач. Executor отвечает за фактическое выполнение задач.

Длинный ответ

Airflow architecture — это набор сервисов, которые совместно управляют планированием, запуском и мониторингом workflow.

1. Scheduler

Scheduler — «мозг» Airflow.

Он отвечает за:

  • чтение DAG-файлов;

  • определение, какие задачи готовы к запуску;

  • постановку задач в очередь на выполнение.

Важно:

  • scheduler не выполняет задачи сам;

  • он только принимает решение, что и когда запускать.

2. Executor

Executor определяет, где и как будет выполняться задача.

Типовые варианты:

  • SequentialExecutor — локально, по одной задаче (dev);

  • LocalExecutor — параллельно на одной машине;

  • CeleryExecutor — распределённо через очередь;

  • KubernetesExecutor — каждая задача в отдельном pod.

Выбор executor напрямую влияет на масштабируемость.

3. Workers

Workers — это процессы или контейнеры, которые:

  • получают задачу от executor;

  • выполняют пользовательский код;

  • возвращают результат выполнения.

Именно здесь выполняются Python-скрипты, SQL-запросы и вызовы API.

4. Metadata Database

Metadata DB хранит состояние системы:

  • статусы DAG и задач;

  • расписания;

  • retries;

  • XCom;

  • информацию о выполнениях.

Чаще всего используется PostgreSQL или MySQL.

Важно:

  • потеря базы = потеря состояния Airflow;

  • это критический компонент.

5. Webserver

Webserver предоставляет UI:

  • просмотр DAG;

  • логов задач;

  • ручной запуск;

  • управление паузами и параметрами.

Webserver:

  • не участвует в выполнении задач;

  • может масштабироваться независимо.

6. Краткий вывод

Airflow состоит из набора специализированных компонентов, где scheduler принимает решения, executor и workers выполняют задачи, а metadata database хранит состояние. Понимание этой схемы важно для стабильной работы и масштабирования.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • CI/CD

    CI/CD

Ключевые слова

#airflow

#architecture

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.