배치 처리
주기적으로 데이터를 한 곳에서 다른 곳으로 이동하거나 처리. 처리량(Throughput)이 중요
데이터 배치 처리
데이터 실시간 처리
Realtime | Semi-Realtime |
---|---|
짧은 Latency | 합리적인 Latency |
연속적인 데이터 스트림 | 배치와 유사한 처리(Micro-batch) |
이벤트 중심 아키텍처 (수신 데이터 이벤트에 의해 작업이나 계산이 트리거되는 구조) | 적시성과 효율성 사이의 균형 (처리 용량과 리소스의 활용도를 높이기 위해 일부 즉각성을 희생하기도 함) |
동적 및 반응형 (데이터 스트림의 변화에 동적으로 대응하여 실시간 분석, 모니터링 및 의사 결정을 수행) | 주기적인 업데이트 |
이벤트 데이터 모델 전송/저장
Kafka
실시간 데이터를 처리하기 위해 설계된 오픈소스 분산 스트리밍 플랫폼, 데이터 재생이 가능한 분산 커밋 로그 (Distributed Commit Log)
Scalability와 Fault Tolerance를 제공하는 Publish-Subscription (= Producer-Consumer) 메시징 시스템
High Throughput과 Low Latency 실시간 데이터 처리에 맞게 구현됨
Retention Period 동안 메시지를 저장
Kafka Broker
= Kafka Server, Kafka Node
Kafka Topic
직렬화 vs 역직렬화
kafka-console-consumer
커맨드라인을 통해 Topic에서 Message 읽기 가능.
--from-beginning
옵션이 있으면 처음부터 읽음(Earliest), 아니면 latest로 동작
ksqlDB
REST API나 ksql 클라이언트 툴을 사용해서 Topic을 테이블처럼 SQL로 조작
Consumer Group