데이터 파이프라인 아키텍처
각 AWS 서비스 유형에 대한 설명
- 지하철도착시간정보 API, 서울시에서 제공하는 서버로 JSON 형식으로 데이터를 반환합니다.
- AWS S3는 폴더를 연/월로 구분하여 제공된 JSON 파일을 저장합니다.
- API 요청이 AWS S3 버킷으로 전송된 후 반환되는 JSON 파일인 AWS Lambda.
- API는 Golang을 요청한 후 결과 값을 S3에 반환합니다.
- Docker와 Golang은 컨테이너로 롤링되어 Lambda에서 실행됩니다.
- API는 Golang을 요청한 후 결과 값을 S3에 반환합니다.
- Lambda를 실행해야 하는 빈도와 횟수를 지정하는 AWS EventBridge. (1 분)
- 하루에 요청 1440개, 분당 요청 1개.
중요 요소
- JSON은 얼마나 큽니까?
- 여러 지하철이 운행 중일 때 JSON 파일은 약 2.4MB까지 커집니다.
- 작업량이 적은 이른 시간에는 77KB로 줄었습니다.
- 하루에 약 2.3GB의 JSON 파일을 수집합니다.
- 여러 지하철이 운행 중일 때 JSON 파일은 약 2.4MB까지 커집니다.
비오는 날 준비
- Golang Goroutine을 사용하여 사용자가 요청한 조건에 해당하는 JSON 파일을 분석할 수 있는 도구를 개발합니다.
- AWS Athena 서비스가 있지만 확장성을 위해 직접 개발할 계획입니다.
API 요청 대상
https://data.seoul.go.kr/dataList/OA-15799/A/1/datasetView.do