-
728x90
- 메시지 큐의 일종으로 분산형 스트리밍 플랫폼
- 메시지를 메모리에 저장하는 다른 메시지 큐와 달리 메시지를 파일 시스템에 저장하여 메시지 유실을 줄일 수 있음
- 다른 메시지 큐는 broker가 consumer에게 메시지를 push하는 방식이지만 Kafka는 consumer가 broker로부터 직접 메시지를 가지고 가는 pull 방식으로 동작하기 때문에 consumer는 성능 최적화 가능
주요 개념
- 메시지는 topic으로 분류됨
Topic
- topic이 나눠지는 단위
- 메시지를 병렬로 처리하기위해 topic을 여러개의 partition으로 나눔
Partition
- partition 내의 하나의 메시지
Log
- partition의 각 메시지를 식별할 수 있는 유니크한 값
- 일종의 인덱스
Offset
- 메시지 생산하는 주체
- consumer의 존재는 알지 못함
Producer
- 메시지 소비자
- producer의 존재를 알지 못함
- 특정 topic을 구독함으로써 메시지를 가져옴
Consumer
- 특정 topic은 consumer group과 1:N 매칭을 해야함
Consumer Group
- 카프카 서버를 지칭
- 동일한 노드에서 여러개의 broker 서버를 띄울 수 있음
Broker
- 분산 메시지 큐의 정보를 관리해 주는 역할
Zookeeper
- Scale Out
Replication
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