728x90
목차
1. Kafka 란
•데이터 파이프라인(Data Pipeline)을 구축할 때 가장 많이 고려되는 시스템 중 하나가 '카프카(Kafka)’ 이다.
•아파치 카프카(Apache Kafka)는 링크드인(LinkedIn)에서 처음 개발된 분산 메시징 시스템이다.
•카프카는 분산 스트리밍 플랫폼으로 대용량의 실시간 로그처리에 특화되어 있는 솔루션이다.
•데이터를 유실없이 안전하게 전달하는 것이 주목적이다.
•클러스터링이 가능하므로 Fault-Tolerant한 안정적인 아키텍처와 빠른 퍼포먼스로 데이터를 처리한다.
•Pub-sub 모델의 메시지 큐 구조이다.
2. Kafka 특징
Publisher Subscriber 모델
Publisher Subscriber 모델은 데이터 큐를 중간에 두고 서로 간 독립적으로 데이터를 생산하고 소비한다. 이런 느슨한 결합을 통해 Publisher나 Subscriber가 죽을 시, 서로 간에 의존성이 없으므로 안정적으로 데이터를 처리할 수 있다. 또한 설정 역시 간단하게 할 수 있다는 장점이 있다.
고가용성(High availability) + 확장성(Scalability)
카프카는 클러스터로서 작동합니다. 클러스터로서 작동하므로 Fault-tolerant 한 고가용성 서비스를 제공할 수 있고 분산 처리를 통해 빠른 데이터 처리를 가능하게 한다. 또한 서버를 수평적으로 늘려 안정성 및 성능을 향상시키는 Scale-out이 가능하다.
카프카는 클러스터로서 작동합니다. 클러스터로서 작동하므로 Fault-tolerant 한 고가용성 서비스를 제공할 수 있고 분산 처리를 통해 빠른 데이터 처리를 가능하게 한다. 또한 서버를 수평적으로 늘려 안정성 및 성능을 향상시키는 Scale-out이 가능하다.
디스크 순차 저장 및 처리(Sequential Store and Process in Disk)
메세지를 메모리 큐에 적재하는 기존 메세지 시스템과 다르게 카프카는 메세지를 디스크에 순차적으로 저장합니다. 이로서 얻는 이점은 두 가지가있다.
메세지를 메모리 큐에 적재하는 기존 메세지 시스템과 다르게 카프카는 메세지를 디스크에 순차적으로 저장합니다. 이로서 얻는 이점은 두 가지가있다.
1. 서버에 장애가 나도 메세지가 디스크에 저장되어 있으므로 유실걱정이 없다.
2. 디스크가 순차적으로 저장되어 있으므로 디스크 I/O가 줄어들어 성능이 빨라진다.
분산 처리(Distributed Processing)
카프카는 파티션(Partition)이란 개념을 도입하여 여러 개의 파티션을 서버들에 분산시켜 나누어 처리할 수 있다.
이로서 메세지를 상황에 맞추어 빠르게 처리할 수 있다.
카프카는 파티션(Partition)이란 개념을 도입하여 여러 개의 파티션을 서버들에 분산시켜 나누어 처리할 수 있다.
이로서 메세지를 상황에 맞추어 빠르게 처리할 수 있다.
3. 메시징 시스템이란
“로그 데이터, 이벤트 메시지 등 API로 호출할 때 모내는 데이터들을 처리하는 시스템”
- 데이터 단위 : 메시지 (로그 데이터, 이벤트 메시지 등)
- 데이터 보내는 측 : Publisher, Producer
- 데이터 가져가는 측 : Subscriber, Consumer
- 데이터 저장소 : Topic
728x90
'스터디 > Kafka' 카테고리의 다른 글
Kafka 아키텍처 및 동작방식(3)- Consumer, Polling, Rebalancing (0) | 2025.01.10 |
---|---|
Kafka 아키텍처 및 동작방식(2) - Producer, Message, Option (0) | 2025.01.09 |
Kafka 아키텍처 및 동작 방식(1) - Partition, Offset, Broker (0) | 2025.01.08 |
Kafka 주요 용어 정리 (0) | 2025.01.05 |
Kafka 구조 및 구성 요소, Pub/Sub 모델 (0) | 2025.01.04 |
댓글