IT 기술/DB

아파치 카프카

gooooooood 2025. 4. 9. 21:30
반응형

1. 분산 메시징 시스템, 카프카의 개요

가. 카프카의 정의

- 센서, 애플리케이션 등에서 수집한 데이터 스트림을 실시간으로 관리하기 위한 오픈소스 시스템

 

나. 카프카의 주요 역할

구성 요소 주요 역할 설명
Producer 메시지 생성자 데이터 Topic으로 전송 클라이언트
Consumer 메시지 수진사 메시지 읽어와 처리 애플리케이션
Broker 메시지 저장소 Topic과 Particion 데이터 저장, 전달
Topic 메시지 분류 단위 메시지 분리 논리적 채널
Partition 메시지 병렬 처리 단위 Topic 분할하여 분산,병렬 처리
ZooKeeper 메타데이터 및 클러스터 관리 브로커 등록, 리더 선출
Kafka Controller 클러스터 직접 제어 Zookeeper 없이 자체 관리

- 메시지 전송 시 보내는 역할과 받는 역할 완벽하게 분리된 발행/구독 방식 적용

 

2. 아파치 카프카의 아키텍처와 핵심 API

가. 아파치 카프카의 아키텍처

나. 아파치 카프카 핵심 API

API 주요 기능 활용 예시
Producer API 애플리케이션이 데이터 전송 IoT 센서 데이터, 로그 수집
Consumer API Kafka로부터 데이터 구독 처리 실시간 로그 분석, 모니터링
Streams API Kafka 내 데이터 스트림 실시간 처리 실시간 집계, 필터링, 조인
Connect API 외부 시스템과 데이터 이동 자동화 MySQL -> Kafka -> BigQuery
Admin API 클러스터/토픽 관리 토픽 생성, 삭제, 변경 관리

 

 

3. 아파치 카프카 동작 방식

구분 동작 설명
데이터 생산 및 전송 토픽 생성 Kafka 서버 구성, Topic 생성
Producer가 메시지 생성 Producer가 데이터 생성
Broker에 메시지 전송 데이터 Kafka Topic으로 전송
데이터 저장 및 소비 메시지 파티션 저장 로그 파일 형태로 저장
Consumer가 메시지 요청 Consumer가 특정 Topic 구독
데이터 관리 및 연동 Zookeeper 메타데이터 관리 브로커 상태, 파티션 등 관리
다른 시스템과 연동 Kafka Connect, Streams API 활용

 

 

4. 카프카 활용 실시간 데이터 처리 시스템 구축

- 실시간 데이터 카프카에 보관 후 스톰에서 즉시 처리 및 메시지 내용 추출 후 MongoDB, HDFS  등으로 전송하여 데이터 분석

반응형