Kafka란?
Apache kafka는 대용량 데이터를 실시간으로 처리하기 위한 분산 스트리밍 플랫폼이다.
데이터를 메시지 형태로 저장하고, 여러 시스템 간에 빠르게 전달할 수 있도록 도와준다.
Kafka를 사용하는 이유
- 서비스 간 비동기 통신 가능
- 대용량 데이터를 높은 처리량으로 안정적으로 처리
- 데이터 유실 방지를 위한 내구성 보장
- 서비스 간 결합도를 낮추는 느슨한 결합 구조
Kafka의 핵심 구성 요소
3-1 Producer
- 데이터를 Kafka로 보내는 역할
- 메시지를 특정 Topic으로 전송
3-2 Consumer
- Topic에 저장된 데이터를 가져가는 역할
- 여러 Consumer가 동시에 데이터를 처리 가능
3-3 Broker
- Kafka 서버
- 메시지를 저장하고 전달하는 역할
3-4 Topic
- 메시지를 분류하는 단위
3-5 Partition
- Topic을 나눈 단위
- 병렬 처리와 성능 향상을 위해 사용
Kafka 동작 흐름
- Producer가 메시지를 생성
- 특정 Topic으로 메시지 전송
- Broker가 메시지를 저장
- Consumer가 메시지를 읽어서 처리
Kafka 특징
Pull기반 소비 방식
- Consumer가 직접 데이터를 가져감
메시지 순서 보장
확장성
- Broker 추가로 쉽게 확장 가능
로그 기반 저장 구조
- 일정 기간동안 데이터 유지 가능
'TIL' 카테고리의 다른 글
| TIL - CodeRabbit 적용 (0) | 2026.03.30 |
|---|---|
| TIL - Kafka vs Kafka를 사용하지 않는 구조 비교 (1) | 2026.03.29 |
| TIL - FeignClient 정리 (0) | 2026.03.27 |
| TIL - Keycloak 개념 정리 (0) | 2026.03.26 |
| TIL - Redis TTL (0) | 2026.03.25 |