제목아파치 카프카, 핵심만 쏙쏙! 2025-05-08 23:18

아파치 카프카, 핵심만 쏙쏙! 

한 줄 요약: 마치 거대한 실시간 택배 시스템! 엄청나게 많은 데이터를 엄청나게 빠르게 여러 곳으로 보내고, 잠시 보관했다가 나중에 다시 꺼내 보거나, 실시간으로 바로바로 처리할 수 있게 해주는 똑똑한 시스템입니다.

카프카는 이런 일을 해요! (택배 시스템에 비유!)

카프카의 역할

택배 시스템 비유

설명

메시지 브로커

택배 회사의 물류 센터

한 곳에서 만든 물건(데이터)을 여러 곳(다른 시스템)으로 안전하고 빠르게 전달해 줍니다. (물건 보내는 사람 → 물류 센터 → 물건 받는 사람)

데이터 저장소

택배 회사의 보관 창고

도착한 물건(데이터)을 잃어버리지 않고 잠시 보관해 둡니다. 나중에 필요할 때 다시 꺼내 볼 수 있어요.

실시간 처리 기반

택배 분류 컨베이어 벨트 + 즉시 처리 시스템

물건(데이터)이 들어오자마자 바로 분류하고 처리할 수 있는 빠른 시스템입니다. (다른 똑똑한 시스템과 연결해서 실시간 분석 가능)

카프카의 기본 구성 요소 (택배 시스템 부품들!)

구성 요소

택배 시스템 비유

역할

Producer

물건 보내는 사람/회사

카프카에게 데이터를 보내는 역할

Consumer

물건 받는 사람/회사

카프카로부터 데이터를 읽어 가는 역할

Broker

택배 회사의 본사 + 서버

실제로 데이터를 저장하고 전달하는 핵심 역할을 하는 컴퓨터 (서버)

Topic

택배 상자의 종류별 분류

비슷한 종류의 메시지(데이터)들을 묶어 놓은 이름표 붙은 상자 (예: 주문 상자, 회원 상자)

Partition

택배 상자를 나눈 작은 칸

하나의 큰 상자(Topic)를 여러 개의 작은 칸으로 나누어 동시에 여러 사람이 처리할 수 있게 해서 속도를 높여줍니다.

카프카 클러스터 상태 관리 (택배 시스템 관리 본부)

  • Zookeeper (구버전): 카프카 시스템 전체가 잘 돌아가는지 감시하고 관리하는 역할 (최근 버전에서는 선택 사항)

카프카는 이렇게 쓰여요! (택배 시스템 활용 사례!)

  • 온라인 쇼핑몰:

    • 주문 발생! → 카프카로 주문 정보 발송!
    • 결제 시스템, 재고 관리 시스템, 배송 시스템이 카프카에서 주문 정보를 실시간으로 받아 바로 처리! (주문 확인, 재고 감소, 배송 준비)
  • 웹사이트/앱 기록 분석:

    • 여러 대의 서버에서 발생하는 로그 데이터를 카프카로 실시간으로 모읍니다.
    • 모아진 로그 데이터를 분석 툴(Elasticsearch, Splunk)로 보내서 문제점을 찾거나 사용자 행동을 분석합니다.
  • 스마트 공장/농장:

    • 수많은 센서에서 실시간으로 쏟아지는 온도, 습도, 위치 정보 등을 카프카로 빠르게 수집합니다.
    • 수집된 데이터를 분석해서 이상 징후를 감지하거나 자동 제어 시스템에 활용합니다.
  • 인공지능 추천 시스템:

    • 사용자가 웹사이트나 앱에서 클릭, 구매, 검색하는 모든 행동 데이터를 카프카로 실시간으로 분석합니다.
    • 분석 결과를 바탕으로 개인에게 딱 맞는 상품이나 콘텐츠를 실시간으로 추천해 줍니다.

https://github.com/aaljo222/spark_kafka_study