본문 바로가기
Kafka

kafka 시작하기

by Soono991 2023. 3. 27.

kafka를 시작하기 전에 간단하게 kafka가 무엇인지 알아보고 가도록 하겠습니다.

 

kafka 공식 사이트의 설명을 보면 위와 같이 설명이 되어 있지만, 여기서 우리가 집중해볼 부분은 kafka는 오픈 소스 분산 이벤트 스트리밍 플랫폼이라고 합니다.

 

event streaming?

이벤트 스트리밍에 대해서 공식 사이트에서 아래와 같이 설명하고 있습니다.

 

그렇다면 kafka가 이벤트 스트리밍인게 무슨 뜻일까?

 

카프카는 아래 세 가지 주요 기능을 결합하여 이벤트 스트리밍에 대한 사용 사례를 구현할 수 있다고 합니다.

1. 다른 시스템에서 데이터를 지속적으로 가져오기/내보내기를 포함하여 이벤트 스트림을 게시(쓰기)하고 구독(읽기)합니다.
2. 원하는 기간 동안 지속적이고 안정적으로 이벤트 스트림을 저장합니다.
3. 발생 시 또는 소급하여 이벤트 스트림을 처리합니다.

 

1번 설명처럼 kafka에는 이벤트 스트림을 게시(publish) 기능을 담당하는 클라이언트 애플리케이션인 producer와 구독(subscribe) 기능을 담

당하는 애플리케이션인 consumer로 나눌 수 있습니다.

이벤트는 토픽에 구성되고 영구적으로 저장됩니다. 토픽은 파일 시스템의 폴더와 유사하며 이벤트의 경우 해당 폴더의 파일이라고 할 수 있습니다. kafka는 기존 pub/sub 메시징 시스템과 달리 이벤트는 소비 후 삭제되지 않습니다. 대신 kafka가 토픽별 구성 설정을 통해 이벤트를 유지해야 하는 기간을 정의합니다. 그 후에는 이전 이벤트가 삭제됩니다. kafka의 성능은 데이터 크기와 관련하여 실질적으로 일정하므로 장기간 데이터를 저장해도 괜찮습니다.

 

 

kafka 핵심 기능

ㆍ높은 처리량: 대기 시간이 2ms로 짧은 시스템 클러스터를 사용하여 네트워크 제한 처리량으로 메시지를 전달합니다.

ㆍ확장 가능: 프로덕션 클러스터를 최대 1,000개의 브로커, 하루에 수조 개의 메시지, 페타바이트의 데이터, 수십만 개의 파티션으로 확장합니다. 저장 및 처리를 탄력적으로 확장 및 축소합니다.

ㆍ영구 보관: 분산되고 내구성이 있으며 내결함성이 있는 클러스터에 데이터 스트림을 안전하게 저장합니다.

ㆍ고가용성: 가용 영역에서 클러스터를 효율적으로 늘리거나 지리적 지역에 걸쳐 별도의 클러스터를 연결합니다.

 

다양한 환경 지원

 

신뢰성과 편의성

 

참고 자료

 

'Kafka' 카테고리의 다른 글

Producer  (0) 2023.04.03
kafka CLI 사용하기 - kafka-console-consumer.(sh | bat)  (0) 2023.03.28
kafka CLI 사용하기 - kafka-console-producer.(sh | bat)  (0) 2023.03.28
kafka CLI 사용하기 - kafka-topics.(sh | bat)  (0) 2023.03.28
kafka 설치  (0) 2023.03.27

댓글