토픽(Topic)
데이터의 주제를 나타내며, 이름으로 분리된 로그.
메시지를 보낼 때는 특정 토픽을 지정합니다.
파티션(Partition)
토픽은 하나 이상의 파티션으로 나누어질 수 있음.
각 파티션은 순서가 있는 연속된 메시지의 로그.
파티션은 병렬 처리를 지원하고, 데이터의 분산 및 복제를 관리.
1 파티션 ← 1 컨슈머 접근 가능
레코드(Record)
- 레코드는 데이터의 기본 단위로 키와 값(key-value pair) 구성.
오프셋(Offset)
- 특정 파티션 내의 레코드 위치를 식별하는 값.
프로듀서(Producer)
데이터를 토픽에 보내는 역할.
메시지를 생성하고 특정 토픽으로 전송.
컨슈머(Consumer)
토픽에서 데이터를 읽는 역할.
특정 토픽의 메시지를 가져와서(poll) 처리.
컨슈머 그룹은 여러 개의 컨슈머 인스턴스를 그룹화하여 특정 토픽의 파티션을 공유하도록 구성. 이를 통해 데이터를 병렬로 처리하고 처리량을 증가 가능
카프카 커넥터(Connector)
카프카와 외부 시스템을 연동 시 쉽게 연동 가능하도록 하는 프레임워크로 MySQL, S3 등 다양한 프로토콜과 연동을 지원.
소스커넥터(source connector) - 외부 시스템에서 카프카로 데이터를 가져오는 커넥터
싱크커넥터(sink connector) - 카프카에서 외부 시스템으로 데이터를 보내는 커넥터
브로커(Broker)
카프카 서버를 의미하며, 클러스터는 여러 브로커로 구성됨
각 브로커는 토픽의 파티션들을 분산하여 저장하고 관리
리플리케이션(Replication)
파티션의 복제본을 여러 브로커에 분산 저장하는 메커니즘
고가용성을 보장하며, 브로커 장애 시에도 데이터 손실 방지
컨슈머 그룹(Consumer Group)
여러 컨슈머를 하나의 그룹으로 관리
한 파티션은 같은 컨슈머 그룹 내에서 하나의 컨슈머만 접근 가능
파티션 수보다 컨슈머가 많으면 유휴 상태의 컨슈머가 발생
지그재그(ZooKeeper)
카프카 클러스터의 메타데이터 관리 및 브로커 헬스체크 담당
브로커 리더 선출, 토픽 구성 정보 관리 등을 수행
(참고: 최신 버전에서는 KRaft로 대체 중)
'Kafka' 카테고리의 다른 글
Kafka partition consumer (0) | 2025.03.02 |
---|---|
Kafka consumer 사용 위치 비교 (0) | 2025.03.02 |