AWS/Service

Amazon MSK

jih0ssang 2024. 4. 4. 09:24

참고 블로그: 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