개요
구매를 압박하는 표현을 가리고 가격 변동을 보여주는 크롬 확장 프로그램. Data 담당으로 수집 파이프라인을 구축하고, 프로젝트 규모에 맞춰 인프라 구성을 단순화
담당 업무
Data 담당으로 Airflow·RabbitMQ 기반 수집·처리 파이프라인을 구축. Kubernetes 구성을 Cloud Run 중심으로 바꿔 운영 부담을 줄이고 가격 이력을 확장 프로그램에 제공
- 담당 범위
- Data 2인 중 데이터 파이프라인 구축·개선 담당
- Kubernetes 구성 단순화
- Cloud Run
- 2024 CAAS 학술부문
- 최우수상
- 2024 공개SW개발자대회
- 우수작
서비스 화면 · 가격 변동 그래프구조
- 01정기 수집 일정Airflow
- 02플랫폼별 수집상품 분류별 작업 생성
- 03수집 작업 큐RabbitMQ
- 04여러 처리 작업가격 정보 수집·정리
- 05가격 이력 저장확장 프로그램에서 비교
서비스 아키텍처
인프라 변경과 큐 기반 수집 구조문제 및 해결
필요보다 복잡한 Kubernetes ETL
- 문제
- Kubernetes 기반 초기 ETL을 구축했지만 프로젝트 규모에 비해 운영 부담과 비용이 컸음
- 해결
- Airflow와 GCP Cloud Run 중심으로 구조를 단순화하고 데이터 수집·기능 개발에 집중
- 결과
- 운영 복잡도와 비용을 줄이는 방향으로 인프라를 이전
플랫폼별 수집 작업의 처리량 차이
- 문제
- 플랫폼과 상품 분류별 수집 작업을 나눠 처리하고 결과를 지속적으로 쌓아야 함
- 해결
- Airflow에서 수집을 요청하고 RabbitMQ Consumer 여러 개가 작업을 나눠 수행하도록 구성
- 결과
- 정기 실행·작업 분배·가격 이력 적재를 연결한 데이터 파이프라인을 구축
구현 내용
- 수집 일정
- Airflow DAG로 플랫폼별 수집을 실행. 시간 단위 작업과 플랫폼별 수집 흐름을 관리
- 작업 분배
- 플랫폼별 수집과 상품 처리를 분리하고 RabbitMQ Consumer가 큐에서 처리 대상을 가져옴
- 연결·종료
- 큐 연결 재시도와 일정 시간 새 데이터가 없을 때 작업을 종료하는 조건을 둠
- 가격 이력
- 날짜·시간 기준의 가격 파일을 공유 경로에 저장해 가격 변동을 조회할 기반을 마련
- 구조 단순화
- Airflow on Kubernetes에서 Airflow + Cloud Run으로 이전해 운영 부담을 줄임