실시간 데이터 수집
실시간 데이터 수집-1 (시나리오)
Sunyoung95
2024. 2. 11. 19:52
실시간 데이터 수집을 위한 시나리오를 구축한다.
어떤 데이터를 수집할 지, 가공을 어떻게 할 것인지, 어디에 저장할 것인지, 시각화는 어떻게 할 것인지.
Architecture
수집대상
- 실시간 환율 api : 실시간 환율 정보를 가져온다. (링크)
수집기
- Filebeat : json log file 형태로 기록되고 있는 실시간 환율 데이터를 수집하여 kafka topic에 저장한다.
- Kafka : Topic에 실시간 데이터를 queue 방식으로 저장한다.
- Sink Connector : Topic에 저장된 데이터를 Sink Connector를 활용하여 Target DB(Elasticearch)에 저장한다.
- Prometheus : node와 Kafka의 Metric 수집에 사용.
가공
- Spark Streaming : kafka의 topic의 데이터를 가공하여 Elasticsearch에 저장한다.
Storage (저장소)
- Elasticsearch : 수집한 실시간 환율 원본데이터와 Spark streaming으로 가공한 데이터를 document 형태로 저장한다.
Monitoring
- Grafana : 여러 커넥터를 지원하는 시각화 툴, Prometheus와 Elasticsearch에 저장된 데이터로 대시보드를 생성한다.
Next
- 각 어플리케이션 호환 버전 조사
- Confluent 설치