ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kafka란?
    DEV 2020. 8. 27. 21:37
    728x90
    • 메시지 큐의 일종으로 분산형 스트리밍 플랫폼
    • 메시지를 메모리에 저장하는 다른 메시지 큐와 달리 메시지를 파일 시스템에 저장하여 메시지 유실을 줄일 수 있음
    • 다른 메시지 큐는 broker가 consumer에게 메시지를 push하는 방식이지만 Kafka는 consumer가 broker로부터 직접 메시지를 가지고 가는 pull 방식으로 동작하기 때문에 consumer는 성능 최적화 가능

    주요 개념

    • Topic
      • 메시지는 topic으로 분류됨
    • Partition
      • topic이 나눠지는 단위
      • 메시지를 병렬로 처리하기위해 topic을 여러개의 partition으로 나눔
    • Log
      • partition 내의 하나의 메시지
    • Offset
      • partition의 각 메시지를 식별할 수 있는 유니크한 값
      • 일종의 인덱스
    • Producer
      • 메시지 생산하는 주체
      • consumer의 존재는 알지 못함
    • Consumer
      • 메시지 소비자
      • producer의 존재를 알지 못함
      • 특정 topic을 구독함으로써 메시지를 가져옴
    • Consumer Group
      • 특정 topic은 consumer group과 1:N 매칭을 해야함
    • Broker
      • 카프카 서버를 지칭
      • 동일한 노드에서 여러개의 broker 서버를 띄울 수 있음
    • Zookeeper
      • 분산 메시지 큐의 정보를 관리해 주는 역할
    • Replication
      • Scale Out
    728x90

    'DEV' 카테고리의 다른 글

    동기 / 비동기, 블로킹 / 논블로킹  (0) 2023.09.23
    Docker Network  (0) 2023.09.17
    Service Mesh란?  (0) 2023.07.16
    Docker로 Redis cluster 구성  (0) 2022.05.01
    [Docker] 설치 및 기본 명령어  (0) 2021.01.30
Designed by Tistory.