Infra/Kafka
[Kafka] Apache Kafka 개요
yejiji
2023. 1. 15. 19:59

아파치 카프카는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트이다.
이전의 데이터 통신 구조가 서비스가 늘어날수록 데이터 파편화와 유지보수가 어려워져 이를 개선하기 위해 개발되었으며, 소스 애플리케이션과 타켓 애플리케이션의 결합도를 약하게 하는 것이 목적이다.
소스 애플리케이션은 카프카로 데이터를 전송하고 타켓 애플리케이션은 카프카에서 데이터를 가져와 사용하는 형태이다.
소스 애플리케이션은 클릭로그, 결제로그 등을 보낼 수 있고 타켓 애플리케이션은 로그적재 및 처리 등의 역할을 할 수 있다. 전달 데이터 포맷은 json, tsv 등 거의 제한이 없으며 카프카는 아주 유연한 큐 역할을 한다고 볼 수 있다.
카프카의 장점으로는
1. 고가용성으로서 서버가 이슈가 생기거나 데이터 손실 없이 복구 가능
2. 낮은 지연
3. 높은 처리량
이와 같은 특징으로 요즘 빅데이터 처리에서 안쓰이는 곳이 없을 정도라고 한다 !