Kafka 6

카프카 정리와 실습

개념대용량 실시간 데이터 스트리밍 플랫폼으로, 게시/구독 (pub-sub) 메시징 기능과 분산 로그 저장소의 특징을 모두 갖추고 있다.높은 처리량과 내결함성을 제공해 대규모 분산 시스템의 데이터 파이프라인에 많이 사용된다. 브로커 (Broker)Kafka 서버 프로세스 1개를 의미한다.하나의 Kafka 인스턴스가 하나의 브로커로 동작하며, 여러 브로커가 보여 Kafka 클러스터를 구성한다.일반적으로 프로덕션 환경에서는 3개 이상의 브로커로 클러스터를 구성하여 내결함성 확보를 권장한다.각 브로커는 자신만의 ID를 가지며 클러스터 내 토픽의 일부 파티션 데이터를 저장하고, 프로듀서/컨슈머로부터 오는 요청을 처리한다.클러스터에는 하나의 브로커가 "컨트롤러 (Controller) 역할을 맡는다.컨트롤러 브로커는..

Kafka 2025.04.30

[카프카 입문] 사용 전후 example

데이터는 보통 데이터 받기 -> 추출 -> 변환 -> 로딩과 같은 흐름을 갖는다... 이런 흐름은 데이터를 보내고 받는 각 시스템이 1:1 일 땐 상당히 간단하고 별 거 없지만n:n으로 늘어날 수록 노답이다.. (4:6 이면 24개의 통합이 필요하다...) 각 시스템이 주고받는 데이터는..프로토콜도 다를 수 있고.. (TCP, HTTP, FTP, REST...)데이터포맷도 다를 수 있고.. (Binary, CVS, JSON...)스키마(데이터 shape) 다름 개복잡;;1. 넷플릭스: 영상 보는 동안 실시간 추천 적용💻 카프카 사용 전사용자 데이터 수집: 영화 재생, 일시정지, 종료 데이터를 수집.저장소 저장: 데이터는 로그 파일이나 데이터베이스에 저장.배치 처리: 추천 알고리즘 서버가 정해진 시간(예..

Kafka 2025.01.07

[Kafka 입문] 다중 브로커, 레플리카

카프카의 브로커는 마스터-워커 구조가 아니라 병렬적으로 구성됨.즉, 모든 브로커는 동등한 수준으로 동작하며, 클러스터 내에서 특정 역할(리더/팔로워)을 파티션 단위로 동적으로 분배함 SPRING_KAFKA_BOOTSTRAP_SERVERS: kafka:9092,kafka-2:9092처럼 모든 브로커의 주소를 명시함으로써,클라이언트(프로듀서/컨슈머)가 클러스터 내 모든 브로커에 연결할 수 있도록 설정하는 것임 세부 설명1. 병렬적 브로커 구성Kafka 클러스터에서:모든 브로커는 Zookeeper를 통해 상태를 공유함.각 브로커는 클러스터의 일부이며, 서로 독립적이지만 협력적으로 작동함파티션을 기준으로 리더-팔로워 구조가 동작함:특정 파티션은 하나의 브로커가 "리더" 역할.나머지 브로커는 "팔로워"로 복제본(..

Kafka 2025.01.03

[Kafka 입문] 토픽, 파티션, 스트림

토픽: 카프카에서 데이터를 구분하고 저장하는 논리적 단위스트림: 토픽의 데이터의 흐름. ksql로 정의할 수 있고, 데이터를 처리하거나 변환하여 전달하거나 새로운 토픽으로 전달할 수도 있음 파티션: 토픽을 물리적으로 분할한 단위, 병렬 처리를 위해 분산 저장하는 것 (브로커 간 분배)Kafka의 기본 개념Kafka는 분산 메시징 플랫폼으로,데이터를 실시간으로 처리하고 전달하는 데 최적화되어 있음.데이터를 "어디에서 생성되고", "어디로 전달되는지"를 관리하는 구조를 제공함프로듀서 (Producer): 데이터를 생성하고 Kafka에 발행하는 역할.컨슈머 (Consumer): Kafka에서 데이터를 구독하고 사용하는 역할.토픽 (Topic): 데이터를 저장하는 논리적 공간.파티션 (Partition): 토픽..

Kafka 2025.01.02

[Kafka 입문] 구성 요소와 역할

| Kafka의 메시지 처리 흐름프로듀서 → Kafka 브로커:프로듀서가 데이터를 생성하여 Kafka의 특정 토픽으로 발행토픽의 파티션에 따라 데이터가 분산 저장Kafka 브로커 → 컨슈머:컨슈머가 토픽을 구독하면, Kafka는 해당 데이터를 컨슈머로 전달컨슈머는 각 파티션에서 데이터를 순차적으로 읽음모니터링 및 분석:Prometheus는 Kafka 브로커의 상태를 지속적으로 수집Grafana를 통해 실시간 대시보드로 브로커, 파티션, 컨슈머 그룹 상태를 확인| Kafka의 핵심 구성 요소와 역할Kafka 브로커:데이터를 저장하고 프로듀서/컨슈머 간 메시지를 전달하는 중앙 허브.하나의 Kafka 클러스터는 여러 브로커로 구성됨.각 브로커는 토픽과 파티션을 분산 저장함.[Kafka 컨테이너와 브로커의 관계..

Kafka 2025.01.02