본문 바로가기

Web/Kafka

[Kafka] 카프카 기초 - 1


참조 블로그 : server-engineer.tistory.com/681

 

이 글은 위의 참고 영상과 그 밑의 정리해놓은 다른 블로그를 참조하며 정리한 글입니다.
제 글보다는 위의 글이 더 깔끔하다고 생각합니다... ㅎㅎ

 

 

0. 시작하며

이 글을 시작으로 꾸준히 업로드 될 카프카 시리즈 게시물은 제가 직접 카프카를 사용해 보면서 이정도만 알면 흐름정도는 알고 사용할 수 있겠구나 하는 정도로만 설명을 하고 정리를 할 예정입니다.

게시물을 끊어가는 기준은 부족한 제가 공부할 때 이해한 큰 단위 기준으로 나누게 되었습니다.

가볍게 짧은 시간에 보실 예정이라면 추천드리지만 깊게 알고싶으신 분들은 추가 검색을 권장드립니다. :)

 

1. Kafka 용어 정리

  • Broker : 카프카 서버의 단위
  • Topic : 사용자가 데이터를 넣는 주제, 데이터 분리의 단위
  • Partition : Topic 안에서 레코드를 담고있을 컨테이너들 중 하나
  • Offset : 각 레코드에 할당된 고유 번호
  • Consumer : 레코드를 소비하는 애플리케이션
  • Consumer Group : 컨슈머 묶음
  • Consumer offset : 컨슈머가 소비한 레코드의 번호
  • Producer : 레코드를 생산해서 보내는 애플리케이션
  • Replication : 한 Partition을 데이터 보존을 위해 동일하게 복사한 개체

 

2. Broker

  • 카프카 애플리케이션 서버 1대를 칭하는 용어
  • 여러 대의 Broker로 클러스터를 구성할 수 있다.
  • zookeeper를 통해 관리된다
    • zookeeper : 메타데이터 (Broker id, Controller id 등) 저장
  • 브로커중 1개는 Controller의 역할을 수행한다.
    • controller : 각 브로커의 파티션, Replica를 관리하고 정상 동작하는지 모니터링

 

3. Topic & Partition

  • 메시지 분류 단위
  • 파티션마다 고유한 오프셋을 가진다.
  • 메시지 처리순서는 파티션 별로 유지 관리됨

 

4. Producer & Consumer

  • 프로듀서(Producer) - 레코드를 생성해서 Broker로 전송
  • 컨슈머(Consumer) - 레코드를 Broker로 부터 가져감
  • 전송된 레코드는 파티션에 신규 오프셋과 함께 기록됨

반응형