1 min read
대용량 실시간 메시지 처리를 위한 프레임워크 Producer & Consumer Kafka 는 Producer 와 Consumer 가 데이터를 주고 받기 위한 중간 다리 역할을 한다.
Kafka Consumer Kafka Consumer는 Kafka Topic에 저장된 message를 읽어 처리하는 client다. 읽은 message를 DB에 적재하거나, feature를 계산하거나, 다른 topic으로 다시 publish할 수 있다.
Kafka Topic Kafka Topic 은 같은 종류의 event/message 를 모아두는 logical stream 이다. Producer 는 topic 으로 message 를 쓰고, Consumer 는 topic 에서 message 를 읽는다.
consumer group 은 여러 Consumer 들이 포함된 그룹이다. consumer group 안의 Consumer 수만큼 파티션의 데이터를 분산처리하게 된다.
Kafka 에서 Producer 는 event/message 를 생성해서 Topic(kafka) 으로 보내는 client 다.
Kafka Cluster 는 여러 대의 카프카 서버가 모여 구성된 클러스터입니다. 이 이미지는 카프카 전체 프로세스의 구조를 보여줍니다.
쿼럼(Quorum)이란 zookeeper 클러스터, 즉 앙상블을 구성하는 서버들 중에서 과반수 이상을 차지하는 서버 그룹을 의미합니다. 다시 말해, 전체 서버 수의 절반보다 많은 수의 서버가 모여야 쿼럼이 형성됩니다.
Topics Apache Iceberg Interview Questions github.com/OBenner/data-engineering-interview-questions/blob/master/content/full.md.
Spark Apache Spark 는 메모리 내 처리를 지원하여 빅 데이터를 분석하는 애플리케이션의 성능을 향상시키는 오픈 소스 병렬 처리 프레임워크입니다. Spark 는 메모리에서 대량의 데이터를 처리하므로 디스크 기반 대체 방법보다 훨씬 빠릅니다.
Spark Partition partition 은 RDDs 나 Dataset 를 구성하고 있는 최소 단위 객체이며, 스파크의 성능과 리소스 점유량을 크게 좌우할 수 있는 RDD 의 가장 기본적인 개념이다.