방명록
- [KAFKA] 카프카 간단하게 알아보기. 카프카란 무엇인가?2024년 07월 15일 14시 11분 09초에 업로드 된 글입니다.작성자: 코딩백구반응형
Kafka란?
- Kafka는 분산형 데이터 스트리밍 플랫폼으로, 대량의 데이터를 안정적이고 실시간으로 처리할 수 있도록 설계되었습니다.
- Kafka는 웹사이트, 어플리케이션, 센서 등에서 취합한 데이터를 스트림 파이프라인을 통해 실시간으로 관리하고 전송하며, 데이터를 생성하는 어플리케이션 (Producer) 과 데이터를 소비하는 어플리케이션 (Consumer) 간의 중재자 역할 (Broker) 을 합니다.
즉, Kafka는 다양한 서비스에서 나오는 데이터 흐름을 실시간으로 제어하는 서비스의 중추 역할을 하는 플랫폼입니다.
등장 배경 - Before Kafka
Kafka는 비즈니스 소셜 네트워크 서비스 플랫폼인 LinkedIn 에서 설계한 시스템으로, 어플리케이션이 늘어남에 따라 발생하는 기존 데이터 시스템의 문제점을 극복하기 위해 등장한 메시징 시스템입니다.
기존 데이터 시스템의 문제점
- 각 어플리케이션과 DB가 end-to-end 로 연결되어 있어 요구 사항이 늘어남에 따라 시스템 복잡도가 높아졌고, 다음과 같은 문제들이 발생.
-
통합된 전송 영역이 없어 데이터 흐름 파악 및 시스템 관리가 어려움
-
장애 발생 시 연결 되어있는 어플리케이션을 모두 확인해야 하기에 조치 시간 증가
-
어플리케이션이 늘어나면서 데이터 파이프라인이 증가하고, 파이프라인마다 데이터 포맷과 처리 방식이 다름
-
새로운 파이프라인의 확장성 및 유연성 저하
등장배경 -After Kafka
- Kafka 도입으로 인해 모든 이벤트/데이터의 흐름을 중앙에서 관리할 수 있게 됨
-
새로운 서비스가 추가되어도 Kafka를 통해 연결하면 되므로 확장성 및 신뢰성이 증가
-
개발자는 각 서비스 간의 연결이 아닌 비즈니스 로직에 집중 가능
Kafka의 특징
- 높은 처리량과 낮은 지연시간
- Kafka는 대용량 데이터를 실시간으로 처리할 수 있도록 설계되었다. 따라서 높은 TPS를 가지며,
실시간 데이터 스트림, 로그 집계 , Event Driven Architecture 구현에 적합하다.
- Kafka는 대용량 데이터를 실시간으로 처리할 수 있도록 설계되었다. 따라서 높은 TPS를 가지며,
- 메시지 내구성
- Kafka의 메시지는 메모리가 아닌 디스크에 보관 주기동안 저장되므로 트래픽이 집중되어
Consumer의 처리가 늦어져도 메시지 손실 우려가 적다.
- Kafka의 메시지는 메모리가 아닌 디스크에 보관 주기동안 저장되므로 트래픽이 집중되어
- 분산 아키텍쳐
- 자세한 설명은 추후에 하겠지만, Kafka는 Kafka Cluster 내부에 여러 대의 Broker 를 구성하여
높은 확장성과 내결함성을 갖는다.
- 자세한 설명은 추후에 하겠지만, Kafka는 Kafka Cluster 내부에 여러 대의 Broker 를 구성하여
- Pull 기반 메시지 소비
- Kafka는 Consumer가 Broker 로부터 능동적으로 메시지를 가져오는 Pull 방식을 취했다.이로 인해 Consumer 는 처리 능력에 따라 메시지를 가져올 수 있기 때문에 안정적인 처리 가능
반응형'Kafka' 카테고리의 다른 글
[KAFKA] 카프카의 구성요소 (0) 2024.07.16 다음글이 없습니다.이전글이 없습니다.댓글