반응형
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 등으로 전송하여 데이터 분석
반응형
'IT 기술 > DB' 카테고리의 다른 글
| 인덱스 (1) | 2025.04.09 |
|---|---|
| 빅데이터 시각화 (0) | 2025.04.09 |
| CDC (Change Data Capture) (0) | 2025.04.09 |
| DB 백업의 필요성과 유형 (0) | 2025.04.09 |
| 4차 정규화 (0) | 2025.04.09 |