앞서 docker-compose를 통해 airflow를 심플하게 설치하는 방법에 대해서 다뤄봤습니다. 스터디, 혹은 가벼운 인프라에서 사용되는 목적이라면 기본 설치된 airflow 환경으로 충분합니다. 하지만 조금 더 묵직한 환경에서 운영이 되어야 한다면 튜닝이 필수인데요, 튜닝에 어떤 것들이 있는지 살펴보도록 하겠습니다. # concurrency, max_active_runs 아마도 튜닝의 첫 단계가 아닐까 싶습니다. airflow의 목적은 병렬로 다수의 task를 운영하는 것이기 때문에 concurrency, max_active_runs 옵션은 제일 먼저 손봐줘야 하는 부분이 될 겁니다. 각각이 나타내는 의미는 아래 그림에서 가장 잘 표현되어 있습니다. 이 이상의 설명은 존재할 수 없을 듯. 설정은 ..
이전 글에서 Airflow란 무엇인지 알아봤습니다. 이번 글에서는 플랫폼을 구축해보고 기본적인 터미널 명령어를 살펴보도록 하겠습니다. 위에 그림에 있는 것처럼 airflow를 구축하기 위해서는 webserver, scheduler, worker, database까지 함께 움직이는 서비스가 많습니다. 이것들이 조합되면 airflow라고 하는 워크플로 플랫폼이 완성되는 겁니다. 여기 있는 서비스를 하나씩 설치하면서 고생하기에는 우리의 시간이 넉넉하지 않죠? 이번 글은 airflow를 제일 빠르고 간편한 방법으로 만날 수 있는 docker-compose를 통한 설치 방법을 알아봅니다. # docker로 airflow 설치 airflow를 운영하려는 환경에 docker-compose가 설치되어 있는지, 설치되어..
Airflow는 Airbnb에서 2014년 10월 시작된 오픈소스 프로젝트입니다. 오픈소스로 2015년 6월 발표되었으며 2016년 3월에 Apache Software Foundation에 인큐베이팅되었어요. 그리고 2019년 1월 아파치 재단은 Apache Airflow를 탑티어 프로젝트로 발표했습니다. 자, 그럼 Airflow가 무엇인지 천천히 살펴보도록 하겠습니다. airflow는 workflow를 구축하고 실행할 수 있는 하나의 플랫폼입니다. 워크플로라는 단어가 모든 것을 설명해주는데요, airflow에서 워크플로는 DAG(Directed Acyclic Graph)으로 표시되며 세부사항으로는 개별 작업을 포함해서 종속성 및 데이터 흐름을 정렬하게 됩니다. 이게 다 무슨 소리인가 싶을 수 있는데요...
서비스의 개발만큼 중요한게 API 단위 테스트이다. 테스트 tool은 네이버의 nGrinder, Apache JMeter등 다양하게 존재하지만 여기서는 명장, Apache Jmeter를 살펴본다. 필자는 얼마전까지 모든 API 테스트는 셸 스크립트로 충분하다고 생각해왔다. 아래처럼 말이다. # curl.sh curl -X GET localhost:8000/products 위와 같은 파일을 터미널에서 아래와 같이 병렬로 처리하는 등 기교부리는 것을 좋아했다. $ seq 400 | xargs -P 200 -I{} ./curl.sh 여기서는 꽤 간단하게 묘사되지만 sleep과 while, 다양한 조건까지 들어가면 꽤 그럴듯한 traffic generator tool 이 완성된다. 조금 더 헤비한 테스트가 필요..
Maven은 아파치 오픈소스 프로젝트로, 중앙에서 프로젝트의 빌드, 리포팅, 문서 등의 정보를 관리할 수 있게 도와준다. 자바나 스프링 등으로 프로젝트를 개발하게 되면 빼놓고 이야기할 수 없는 도구가 메이븐인데 MacOS에 설치하는 과정에 대해서 다뤄보도록 한다. Maven의 설치 시작은 공식 홈페이지에서 시작된다. 여기 링크를 접속하면 다운로드 받을 수 있는 파일 목록이 확인되는데 대략 아래와 같다. Maven 설치를 소개하는 많은 글에서 Other mirrors를 선택해서 속도가 빨리 나오는 사이트를 선택하라고 하지만 굳이 그럴 필요 없다. 용량 자체가 10MB 남짓이라 미러 사이트 찾아보는 시간에 클릭했다면 진작 다운로드가 완료된다. 아무튼, 아래 빨간 박스로 표시한 곳에 있는 파일을 적당히 다운로..
- Total
- Today
- Yesterday