참고 블로그: https://velog.io/@dlatkdrb980219/AWS-MSK
Apache Kafka
Producer
∙ 메세지(이벤트)를 생산(Write)하는 주체
∙ 프로듀서는 메세지 전송 시 토픽을 지정
∙ 파티션은 라운드로빈 방식 혹은 파티션 번호를 지정하여 넣을 수 있음
∙ 같은 키를 갖는 메세지는 같은 파티션에 저장되며 순서 유지
Kafka 클러스터
∙ Kafka의 Broker들의 모음
∙ Kafka는 확장성과 고가용성을 위해 Broker들이 클러스터로 구성되어 있다.
Broker
∙ 각각의 Kafka 서버
∙ 메시지를 저장하고 복제하는 서버
∙ 동일 노드에 여러 Broker를 띄울 수 있다.
Zookeeper
∙ Kafka 클러스터 정보 및 분산처리 관리 등 메타 데이터가 저장된 스토리지
∙ Kafka를 띄우기 위해 반드시 실행되어야 한다.
Consumer
∙ 메세지(이벤트)를 구독하며 소비(Read)하는 주체
Offset
∙ 파티션 내 각 메세지가 저장된 위치 번호(index)
∙ 프로듀서가 넣은 메시지는 파티션의 맨뒤에 추가 (Queue)
∙ 컨슈머는 오프셋을 기준으로 마지막 커밋 시점부터 메세지를 순서대로 읽어서 처리
∙ 파티션의 메세지 파일은 처리후에도 계속 저장되어 있으며 설정에 따라 일정시간 뒤 삭제
Consumer Group
∙ 메세지를 소비하는 컨슈머들의 논리적 그룹
∙ Topic의 파티션은 컨슈머 그룹과 1:N 매칭 관계로 동일 그룹 내 한 개의 컨슈머만 연결 가능
∙ 파티션의 메세지는 순서대로 처리되도록 보장 특정 컨슈머에 문제가 생겼을 때 Failover를 통한 리밸런싱 가능
∙ 보통 파티션과 컨슈머는 1:1이 Best Practice로 봄
Topic
∙ 메시지를 구분하는 단위
∙ 토픽을 기준으로 브로커에 메시지 저장
∙ 여러 파티션과 복제본으로 구성
∙ 파일 시스템의 폴더, 메일함과 유사
Partition
∙ 메시지를 저장하는 물리적인 파일
∙ 한 개의 Topic은 한 개 이상의 Partition으로 구성
스트리밍 데이터
스트리밍 데이터 분석 시스템의 기초
- 밀리세컨드 이내 데이터 생산, 전달 및 처리
- 데이터를 보존하여 병렬처리와 독립처리 지원
- 생성된 순서대로 캡처하여 처리되는 데이터
스트리밍 데이터 분석에 적합한 기술
Technology | Lag | Parallel processing | Ordering guarantees |
관계형 DB | Asynchronous | Yes | No |
메시징 큐 | Milliseconds | No | No |
Hadoop | Hours or days | Yes | No |
Commit log | Milliseconds | Yes | Yes |
Lag(지연)
- 데이터가 발생한 지점에서부터 처리되는데 걸리는 시간
- 데이터 생성 시점부터 분석 까지의 시간
- 이러한 지연은 데이터 처리의 효율성과 신뢰성에 영향을 미침
- 스트리밍 데이터 분석 시스템은 가능한 한 지연 시간을 최소화하여 실시간으로 데이터를 분석하고 대응할 수 있어야함
Parallel Processing(병렬 처리)
- 병렬 처리는 스트리밍 데이터를 동시에 여러 작업자(worker)로 나누어 처리하는 기술
- 대규모 데이터 스트림을 효율적으로 처리하기 위해 데이터를 병렬로 처리하면 처리 속도를 향상
Ordering Guarantees(순서 보장):
- 스트리밍 데이터 분석에서 데이터의 순서가 보장되는 것
- 일부 상황에서는 데이터가 처리되는 순서가 중요할 수 있으며, 이를 보장하지 않으면 잘못된 결과가 발생할 수 있다.
- 스트리밍 시스템이 데이터를 정확한 순서대로 처리하고 그 순서를 유지하는 데 도움이 된다.
Hadoop
- 대용량 데이터 분산 저장
- 분산 저장 데이터를 가공/분석
- 데이터를 효과적으로 처리하는 오픈소스 소프트웨어
스트리밍 데이터 분석의 단계
'AWS > Service' 카테고리의 다른 글
EFK 스택(ElasticSearch+Fluentd+Kibana) (0) | 2024.04.24 |
---|---|
AWS EKS (0) | 2024.04.15 |
AWS WAF (0) | 2024.02.09 |
AWS Backup (0) | 2024.02.09 |
Security Group(보안그룹) (0) | 2024.02.09 |