이론/백엔드 개념정리
0. Kafka 도입 배경 및 주요 특징
블스뜸
2025. 5. 1. 12:43
카프카 등장 이전에는 소스 애플리케이션 및 타겟 애플리케이션 증가에 따라 데이터 전송 라인이 기하급수적으로 늘어나 시스템 복잡성을 심화시켰다. 이는 배포 및 장애 대응의 어려움을 야기했다. 또한, 데이터 전송 시 프로토콜 및 포맷의 파편화는 데이터 내부 변경 발생 시 유지보수 난이도를 증폭시키는 요인이 되었다.
상기 문제점 해결을 위해 개발된 것이 카프카이다. 카프카는 소스(프로듀서)와 타겟(컨슈머) 간의 결합도를 낮추는 방식으로 동작한다.
- 프로듀서: 카프카 클러스터로 데이터를 전송하며, 데이터 포맷에 대한 제약이 거의 없다.
- 컨슈머: 카프카 클러스터로부터 데이터를 수신하여 적재 또는 처리한다.
- 토픽: 카프카 클러스터 내 큐에 적재되는 데이터의 단위이다.
프로듀서와 컨슈머는 제공되는 라이브러리를 통해 애플리케이션 내에서 용이하게 구현 가능하다.
이러한 데이터 흐름 환경에서 카프카는 고가용성(Fault Tolerant) 특성을 통해 서버 이슈 발생 시 데이터 손실 없이 복구를 지원한다. 더불어, 낮은 지연 시간과 높은 처리량을 바탕으로 대량의 데이터를 효율적으로 처리할 수 있다. 이러한 특징으로 인해 다수의 IT 기업들이 카프카를 채택하고 있다.