Kafka 4

[카프카 입문] 사용 전후 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