-
[카프카 핵심 가이드] CH1. 카프카 시작하기DevBook 2025. 2. 4. 00:50
토픽과 파티션
- 카프카에 저장되는 메시지는 토픽 단위로 분류된다.
- 토픽은 여러 개의 파티션으로 나뉘어진다.
- 파티션은 하나의 로그에 해당한다.
- 파티션에 메시지가 쓰여질 때는 추가만 가능(append-only)한 형태로 쓰여지며, 읽을 때는 맨 앞부터 제일 끝까지의 순서로 읽힌다.
- 토픽 안의 메시지 전체에 대해 순서 보장 X, 단일 파티션 안에서만 순서 보장
- 파티션은 카프카가 데이터 중복과 확장성을 제공하는 방법이기도 하다.
- 확장성
- 각 파티션이 서로 다른 서버에 저장될 수 있음
- 하나의 토픽이 여러 개의 서버로 수평 확장되어 하나의 서버 용량을 넘어서는 성능을 보여줄 수 있음
- 데이터 중복
- 파티션은 복제될 수 있음
- 서로 다른 서버들이 동일한 파티션의 복제본을 저장하고 있어 서버 중 하나에 장애가 발생해도 읽거나 쓸 수 없는 상황이 벌어지지 않음
- 확장성
- 스트림
- 파티션의 개수와 상관없이 하나의 토픽에 저장된 데이터로 간주된다.
- 프로듀서로부터 컨슈머로의 하나의 데이터 흐름을 나타낸다.
왜 카프카인가?
- 다중 프로듀서
- 다중 컨슈머
- 많은 컨슈머가 상호 간섭 없이 메시지 스트림을 읽을 수 있다.
- 디스크 기반 보존
- 메시지를 지속성 있게 저장할 수 있다.
- 메시지는 디스크에 쓰여진 뒤 설정된 보유 규칙과 함께 저장된다.
- 확장성
- 여러 대의 브로커로 구성된 클러스터 구성이 가능하다.
- 고성능
- 메시지 전달 속도가 빠르고 프로듀서, 컨슈머, 브로커 모두 큰 메시지 스트림을 쉽게 다룰 수 있도록 수평 확장이 가능하다.
- 플랫폼 기능
- 카프카 커넥트, 스트림즈와 같은 플랫폼 기능을 제공한다.
'DevBook' 카테고리의 다른 글
[카프카 핵심 가이드] CH4. 카프카 컨슈머: 카프카에서 데이터 읽기 (2) (1) 2025.02.13 [카프카 핵심 가이드] CH4. 카프카 컨슈머: 카프카에서 데이터 읽기 (1) (0) 2025.02.11 [카프카 핵심 가이드] 추가 - 카프카 컨슈머 리밸런스 (0) 2025.02.11 [카프카 핵심 가이드] 3.6 파티셔너 (카프카 3.9 버전 반영) (0) 2025.02.06 [카프카 핵심 가이드] CH3. 카프카 프로듀서: 카프카에 메시지 쓰기 (0) 2025.02.04