반응형
아파치 카프카 개념 정리
- 아파치 카프카란
- 카프카 기본 구성 요소
- 카프카 특징
1. 아파치 카프카(APACHE KAFKA)란
카프카(kafka)는 웹, 애플리케이션, 센서 등에서 취합된 데이터를 스트림 파이프라인을 통해 실시간으로 관리하고 보내기 위한 분산 스트리밍 플랫폼을 말한다.
데이터를 생성하는 애플리케이션과 데이터를 소비하는 애플리케이션의 중재자 열할을 한다.
2. 카프카 기본 구성 요소
- 주키퍼(zookeeper) : 카프카의 메타데이터 저장과 브로커 정상상태 관리
- 카프카(kafka) 혹은 카프카 클러스터(kafka cluster) : 브로커로 이루어진 집합체
- 브로커(broker) : 카프카 서버라고도 불리며, 동일 노드에 여러 브로커를 띄울 수 있다
- 프로듀서(producer) : 메시지를 생산에서 브로커의 토픽으로 보내는 역할(애플리케이션, 서버 등이 해당)
- 컨슈머(comsumer) : 토픽의 파티션에 저장되어 있는 메시지를 소비하는 역할(애플리케이션, 서버 등이 해당)
- 토픽(topic) : 브로커에서 데이터를 관리할 때 기준이 되는 개념
- 파티션(partition) : 병렬처리 및 고성능을 얻기 위해, 하나의 토픽을 여러 개로 나눈 것을 의미
3. 카프카 특징
- 여러 프로듀서가 동시에 메시지를 전달할 수 있고, 여러 컨슈머가 동시에 메시지를 소비할 수 있다.
- 전송된 메시지는 일정 기간 동안 파일로 저장 -> 처리 속도, 장애 복구 가능
- 시스템 트레픽이 높아지면 브로커를 추가해 클러스터를 확장할 수 있다.
- 처리 속도가 저하되면 프로듀서 or 컨슈머를 추가하여 처리량을 늘릴 수 있다.
- 컨슈머가 프로듀서의 메시지 생산 속도를 따라가지 못하는 경우, 컨슈머를 그룹으로 묶어 프로듀서와 속도를 맞출 수 있다.
반응형
댓글