시스템 구조
Kafka, flink를 사용해 실시간으로 발생하는 배달 주문 데이터를 처리하고 저장한다. 데이터는 postgres, elasticsearch에 저장되며 저장된 데이터를 kibana에서 시각화한다.
환경 구축
- Docker compose 사용해 컨테이너 구성
- Zookeeper, Kafka broker, Control center, Postgres, Elasticsearch, Kibana 컨테이너 실행 및 관리
데이터 수집
- Python 코드에서 배달 주문 데이터 생성
- Kafka 사용해 메시지 publish
- Confluent control center에서 kafka 모니터링
데이터 처리
- Flink job 사용해 배달 주문 내역이 저장된 토픽에서 메시지 소비, 실시간 처리
- 데이터 변환 및 집계 연산 수행
데이터 저장
- 처리된 데이터들을 sink operation을 통해 Elasticsearch, postgreSQL DB에 저장
- PostgreSQL delivery_information, pay_per_destination, pay_per_category, charge_per_day 테이블 생성
데이터 분석
- Kibana 사용해 elasticsearch에 저장된 데이터 시각화
'Data > Project' 카테고리의 다른 글
Project | 실시간 배달 주문 데이터 처리 - Flink Map, KeyBy, Reduce를 이용한 데이터 변환, 집계 처리 (2) | 2024.05.03 |
---|---|
Project | 실시간 배달 주문 데이터 처리 - PostgreSQL Table 생성 및 데이터 삽입 (0) | 2024.05.03 |
Project | 실시간 배달 주문 데이터 처리 - Flink Job을 사용한 Kafka 스트리밍 (0) | 2024.03.27 |
Project | 실시간 배달 주문 데이터 처리 - 데이터 수집 (2) | 2024.03.18 |
Project | 실시간 배달 주문 데이터 처리 - 환경 구축 (2) | 2024.03.18 |