Data Engineering/Kafka

Data Engineering/Kafka

[Kafka] 카프카 스트림즈의 토폴로지

카프카 스트림즈 토폴로지카프카 스트림즈는 실시간 데이터 스트림을 처리하는 강력한 도구임.다양한 언어에서 사용할 수 있으며 특히 코틀린과 같은 JVM 기반 언어에서도 매우 잘 통합됨.코틀린은 함수형 프로그래밍 스타일을 지원함.이는 카프카 스트림즈의 데이터 흐름을 구성하는 데 매우 유용함. 1. 카프카 스트림즈의 기본 개념카프카 스트림즈의 토폴로지는 데이터 처리 애플리케이션의 논리적인 구조를 나타냄.토폴로지는 하나 이상의 데이터 소스와 처리 연산을 연결하여 데이터가 흐르는 방향을 정의함.이를 통해 데이터를 변환하고 집계한 결과를 다시 내보낼 수 있음. 토폴로지는 다음과 같은 기본 구성 요소로 이루어짐.소스 프로세서 : 카프카 토픽으로부터 데이터를 읽어오는 역할.스트림 프로세서 : 데이터를 처리하는 역할싱크 ..

Data Engineering/Kafka

[Kafka] 아파치 카프카란?

아파치 카프카란? 아파치 카프카는 분산 데이터 스트리밍 플랫폼으로, 대용량의 실시간 데이터 스트림을 처리하는 데 사용됩니다. 카프카는 대규모 데이터 센터에서 생성되는 대규모 데이터 스트림을 안정적으로 처리할 수 있습니다. 카프카의 구조는 브로커(broker)와 토픽(topic), 파티션(partition)으로 구성됩니다. 브로커는 카프카 클러스터 내에서 데이터를 저장하고 처리하는 역할을 합니다. 토픽은 데이터가 저장되는 논리적인 단위이며, 파티션은 토픽 내에서 데이터를 저장하는 물리적인 단위입니다. 각 파티션은 여러 대의 브로커에 걸쳐 분산되어 데이터 손실을 방지하고 성능을 향상시킵니다. 카프카의 주요 특징은 다음과 같습니다. - 스케일 아웃: 클러스터를 추가하여 선형적으로 확장이 가능합니다. - 고성능..

Data Engineering/Kafka

[Kafka] 카프카의 장단점

아파치 카프카의 장단점 아파치 카프카는 대용량 실시간 메시징 시스템으로, 대량의 데이터를 안정적이고 빠르게 전송하고 처리하는 데 사용됩니다. 이를 위해 아파치 카프카는 분산형 아키텍처를 채택하며, 여러 대의 브로커와 프로듀서, 컨슈머로 구성됩니다. 장점: 대용량 데이터의 분산 처리: 아파치 카프카는 대량의 데이터를 처리하기 위한 분산형 아키텍처를 채택하고 있어, 대용량 데이터를 안정적으로 처리할 수 있습니다. 실시간 처리: 아파치 카프카는 실시간 처리에 최적화되어 있어, 실시간으로 대용량 데이터를 처리할 수 있습니다. 고가용성: 아파치 카프카는 다수의 브로커로 구성되어 있어, 하나의 브로커가 다운되더라도 다른 브로커가 대신 처리할 수 있어, 고가용성을 보장합니다. 확장성: 아파치 카프카는 수평적으로 확장..

Data Engineering/Kafka

[Kafka] log.cleanup.policy 이란

log.cleanup.policy - 기본값 : delete - 선택 가능 : delete, compact - delete : 로그 세그먼트는 시간이나 크기제한에 도달할 때 주기적으로 삭제 - compact : 불필요한 레코드를 없애기 위해 압축을 사용

Data Engineering/Kafka

[Zookeeper] 주키퍼 도커 컴포즈로 실행시 가상볼륨 하나로 만드는 방법

docker-compose.yml version: '3.1' services: zoo1: image: zookeeper:3.8.0 container_name: zoo1 hostname: zoo1 ports: - 2181:2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 volumes: - zoo1-data:/data - zoo1-datalog:/datalog - zoo1-logs:/logs zoo2: image: zookeeper:3.8.0 container_name: zoo2 hostname: zoo2 ports: - 2..

Data Engineering/Kafka

[Zookeeper] 주키퍼 도커 컴포즈 실행시 가상볼륨 생성되는 문제

docker-compose.yml version: '3.1' services: zoo1: image: zookeeper:3.8.0 container_name: zoo1 hostname: zoo1 ports: - 2181:2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 zoo2: image: zookeeper:3.8.0 container_name: zoo2 hostname: zoo2 ports: - 2182:2181 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:38..

Data Engineering/Kafka

[kafka] kafka-producer-perf-test 의 --record-size 옵션 확인해보기

토픽 만들기 kafka-topics --create --bootstrap-server kafka-1:9092,kafka-2:9093,kafka-3:9094 --replication-factor 3 --partitions 3 --topic performance-test --record-size 2000 으로 프로듀서 테스트 해보기 kafka-producer-perf-test --topic performance-test --throughput -1 --num-records 1 --record-size 2000 --producer-props ack=1 bootstrap.servers=kafka-1:9092,kafka-2:9093,kafka-3:9094 토픽 읽기 kafka-console-consumer --b..

Data Engineering/Kafka

[kafka] 컨슈머 성능 테스트 하는 방법

토픽 생성 kafka-topics --create --bootstrap-server kafka-1:9092,kafka-2:9093,kafka-3:9094 --replication-factor 3 --partitions 3 --topic performance-test 프로듀서 테스트 kafka-producer-perf-test --topic performance-test --throughput -1 --num-records 100000 --record-size 2000 --producer-props ack=1 bootstrap.servers=kafka-1:9092,kafka-2:9093,kafka-3:9094 컨슈머 테스트 kafka-consumer-perf-test --topic performance-t..

Data Engineering/Kafka

[kafka] 프로듀서 성능 테스트 하는 방법

토픽생성 kafka-topics --create --bootstrap-server kafka-1:9092,kafka-2:9093,kafka-3:9094 --replication-factor 3 --partitions 3 --topic performance-test 프로듀서 성능 테스트 kafka-producer-perf-test --topic performance-test --throughput -1 --num-records 100000 --record-size 2000 --producer-props ack=1 bootstrap.servers=kafka-1:9092,kafka-2:9093,kafka-3:9094

Data Engineering/Kafka

[kafka] 카프카 실행 전후 주키퍼의 znode 확인하기

카프카 실행 전 docker-compose.yml version: '2.1' volumes: zookeeper-1-data: zookeeper-1-datalog: zookeeper-1-logs: zookeeper-2-data: zookeeper-2-datalog: zookeeper-2-logs: zookeeper-3-data: zookeeper-3-datalog: zookeeper-3-logs: kafka-1-data: kafka-1-secrets: kafka-2-data: kafka-2-secrets: kafka-3-data: kafka-3-secrets: services: zookeeper-1: hostname: zookeeper-1 container_name: zookeeper-1 image: zo..

박경태
'Data Engineering/Kafka' 카테고리의 글 목록