برنامه نویسی

Apache Airflow – انجمن DEV

Summarize this content to 400 words in Persian Lang

I. معماری جریان هوا

اجزای اصلی:

برنامه ریز: قلب Airflow، مسئول برنامه ریزی و اجرای DAG ها. به طور مداوم DAG ها را بررسی می کند و تعیین می کند که کدام وظایف باید بر اساس وابستگی ها و زمان های زمان بندی اجرا شوند.

مجری: مسئول اجرای وظایف. Airflow انواع مختلفی از مجری ها را ارائه می دهد مانند LocalExecutor (اجرای وظایف در سرور Airflow)، CeleryExecutor (اجرای وظایف بر روی کارگران جداگانه)، KubernetesExecutor (اجرای وظایف در خوشه Kubernetes) و غیره.

وب سرور: یک رابط وب برای مدیریت، نظارت و اشکال زدایی DAG ها ارائه می دهد.

پایگاه داده فراداده: اطلاعات مربوط به DAGها، وظایف، گزارش‌ها و غیره را ذخیره می‌کند. Airflow از انواع پایگاه‌های داده مانند PostgreSQL، MySQL، SQLite پشتیبانی می‌کند.

DAG (Directed Acyclic Graphs): نشان دهنده گردش کار در جریان هوا است. هر DAG شامل مجموعه ای از وظایف است که به ترتیب اجرا به یکدیگر متصل شده اند. وظایف: کوچکترین واحدهای کار در جریان هوا. هر وظیفه نشان دهنده یک کار خاص است، به عنوان مثال اجرای یک اسکریپت پایتون، ارسال ایمیل و غیره

اپراتورها: کلاس های پایتون برای تعریف وظایف در DAG ها استفاده می شود. Airflow انواع بسیاری از اپراتورها را برای کارهای رایج مانند BashOperator، PythonOperator، EmailOperator و غیره ارائه می دهد.

II. مکانیسم عمل

برنامه ریز (Scheduling): به طور مداوم DAG ها را بررسی می کند و تعیین می کند که کدام وظایف باید بر اساس وابستگی ها و زمان های زمان بندی اجرا شوند.

مجری (اجرا): وظایف را از Scheduler دریافت کرده و بر روی کارگران اجرا کنید.

نظارت بر (ردیابی): جریان هوا پیشرفت کارها را ردیابی می کند و اطلاعات را در پایگاه داده فراداده ثبت می کند.

رسیدگی به خطا (کنترل خطا): جریان هوا خطاهایی را که در حین اجرای کار رخ می دهد کنترل می کند و می تواند بر اساس پیکربندی مجدداً تلاش کند، رد شود یا از کار بیفتد.

منابع:https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/overview.html#architecture-diagrams

I. معماری جریان هوا

معماری پایه

اجزای اصلی:

  • برنامه ریز: قلب Airflow، مسئول برنامه ریزی و اجرای DAG ها. به طور مداوم DAG ها را بررسی می کند و تعیین می کند که کدام وظایف باید بر اساس وابستگی ها و زمان های زمان بندی اجرا شوند.
  • مجری: مسئول اجرای وظایف. Airflow انواع مختلفی از مجری ها را ارائه می دهد مانند LocalExecutor (اجرای وظایف در سرور Airflow)، CeleryExecutor (اجرای وظایف بر روی کارگران جداگانه)، KubernetesExecutor (اجرای وظایف در خوشه Kubernetes) و غیره.
  • وب سرور: یک رابط وب برای مدیریت، نظارت و اشکال زدایی DAG ها ارائه می دهد.
  • پایگاه داده فراداده: اطلاعات مربوط به DAGها، وظایف، گزارش‌ها و غیره را ذخیره می‌کند. Airflow از انواع پایگاه‌های داده مانند PostgreSQL، MySQL، SQLite پشتیبانی می‌کند.
  • DAG (Directed Acyclic Graphs): نشان دهنده گردش کار در جریان هوا است. هر DAG شامل مجموعه ای از وظایف است که به ترتیب اجرا به یکدیگر متصل شده اند. وظایف: کوچکترین واحدهای کار در جریان هوا. هر وظیفه نشان دهنده یک کار خاص است، به عنوان مثال اجرای یک اسکریپت پایتون، ارسال ایمیل و غیره
  • اپراتورها: کلاس های پایتون برای تعریف وظایف در DAG ها استفاده می شود. Airflow انواع بسیاری از اپراتورها را برای کارهای رایج مانند BashOperator، PythonOperator، EmailOperator و غیره ارائه می دهد.

II. مکانیسم عمل

  • برنامه ریز (Scheduling): به طور مداوم DAG ها را بررسی می کند و تعیین می کند که کدام وظایف باید بر اساس وابستگی ها و زمان های زمان بندی اجرا شوند.
  • مجری (اجرا): وظایف را از Scheduler دریافت کرده و بر روی کارگران اجرا کنید.
  • نظارت بر (ردیابی): جریان هوا پیشرفت کارها را ردیابی می کند و اطلاعات را در پایگاه داده فراداده ثبت می کند.
  • رسیدگی به خطا (کنترل خطا): جریان هوا خطاهایی را که در حین اجرای کار رخ می دهد کنترل می کند و می تواند بر اساس پیکربندی مجدداً تلاش کند، رد شود یا از کار بیفتد.

منابع:
https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/overview.html#architecture-diagrams

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا