Data Engineering/Airflow
Airflow 구조
Lim Seung Hyun
2022. 1. 20. 15:20
Single Node Architecture
Multi Node Architecture
airflow 실행 구조
Single Node Architecture
- Single Node Architecture : 하나의 서버에서 실행되는 아키텍처
- Metadata Database에서 메타 정보를 가지고 있으므로, Webserver와 Scheduler가 메타 정보를 읽어온다.
- Executor에서 Scheduler에 의해 DAG가 실행된다.
- Metadata Database에서 실행 중인 DAG의 정보가 업데이트된다.
Multi Node Architecture
- Multi Node Architecture : Worker를 여러 노드로 구성한 구조
- Celery Broker(Queue) : Queue에 Task들을 담고 각 Worker 노드에서 Task를 받아 실행한다. (단일 노드 구조와의 큰 차이)
- 실행한 정보는 Metadata Database에 업데이트를 시켜준다.
Airflow 실행 구조
- Task로 구성된 DAG를 작성
- Web Server와 Scheduler가 DAG를 파싱
- Scheduler는 Metadata Database를 통해 DAG Run Object 생성 및 실행
- DAG Run : 작성한 DAG의 인스턴스
- Scheduler는 Task Instance를 스케쥴링
- Trigger에 의해 Executor는 Task Instance를 실행
- Task를 수행 후 Metadata Database에 DAG의 상태를 완료로 변경
- Web Server와 Scheduler는 Metadata Database의 업데이트 된 정보를 확인
Reference
- Single Node Architecture : https://airflow.apache.org/docs/apache-airflow/stable/concepts/overview.html
- Mutli Node Architecture : https://apache.googlesource.com/airflow-on-k8s-operator/+/HEAD/docs/design.md
728x90