X

카프카 (Kafka)

I. 대용량 실시간 로그 처리, 카프카

가. 카프카의 개념

대용량 실시간 처리 위한 확장성과 고가용성을 가지는 publish-subscribe 구조의 오픈소스 분산 메시징 시스템

나. 카프카의 특징

비휘발성 메시지 – 디스크 구조로 설계, 별도의 설정하지 않아도 데이터 영속성 보장
TCP 기반 프로토콜 – TCP 기반의 프로토콜을 사용하여 프로토콜에 의한 오버헤드 감소

II. 카프카의 아키텍처 및 구성 요소

가. 카프카의 아키텍처

나. 카프카의 구성요소

구분 구성요소 설명
데이터 레코드 – Key, Value, Timestamp 구성
토픽 – 레코드가 게시되는 카테고리나 피드
파티션 – 토픽이 쪼개져 각 서버에 저장되는 단위
Core API Producer API – 카프카 토픽에 스트림 레코드 게시
Consumer API – 토픽 구독 및 생성 레코드 스트림 처리
Streams API – 스트림 프로세서로 동작, 입력→출력 스트림으로 효율적 변환
Connector API – 재사용 가능한 프로듀서나 컨슈머를 만들고 실행

III. 카프카를 활용한 실시간 데이터 처리 시스템 구축 방안

  • 실시간 대량의 데이터를 카프카에 안전하게 보관 후, 스톰에서 즉시 처리, 메시지 내용 추출 후 MongoDB 볼트, HDFS 볼트 등 다른 볼트로 전송
Categories: 데이터베이스
도리: