Kafka/Kafka

[Kafka] 카프카의 역할과 특징

반응형

카프카의 역할


데이터를 생성하고 적재하기 위해서는 데이터를 생성하는 소스 애플리케이션과 데이터가 최종 적재되는 타깃 애플리케이션을 연결해야 한다.

  • 카프카를 통해 웹 사이트, 애플리케이션 등에서 취합한 데이터 스트림을 한 곳에 모아 처리할 수 있도록 중앙 집중화하고, 실시간으로 관리할 수 있게 됐다.
  • 카프카를 중앙에 배치함으로써 소스 애플리케이션과 타깃 애플리케이션 사이의 의존성을 최소화하여 커플링을 완화하였다.
    • 기존의 1:1 매칭으로 개발하고 운영하던 데이터 파이프라인은 커플링으로 인해 한쪽의 이슈가 다른 한쪽의 애플리케이션에 영향을 미치곤 했지만, 카프카는 이러한 의존성을 타파했다.


빅데이터 파이프라인에서 카프카의 역할


빅데이터로 적재되는 데이터의 종류는 다양하다.

  • 스키마 기반의 정형 데이터
  • 일정한 규격이나 형태를 지니지 않은 비정형 데이터.

 

빅데이터를 저장하고 활용하기 위해서는 일단 생성되는 데이터를 모두 모으는 것이 중요한데, 이때 사용되는 개념이 데이터 레이크이다.

  • 데이터 레이크란, 운영되는 서비스로부터 수집 가능한 모든 데이터를 모으는 것이다. 그리고 데이터 과학자나 분석가들은 모은 데이터를 토대로 서비스에 활용할 수 있는 인사이트를 찾는다.

 

서비스에서 발생하는 데이터를 데이터 레이크로 모으기 위해서는

  • 단순하게 발생하는 데이터를 데이터 레이크에 직접 엔드 투 엔드 방식으로 넣을 수 있다.
    • 이 방식은, 점점 서비스가 비대해지고 복잡해지면서 데이터가 파편화되고 복잡도가 올라가는 문제점이 존재한다.
    • 이를 해결하기 위해서는 데이터를 추출하고(extracting), 변경(transforming), 적재(loading)하는 과정을 묶은 데이터 파이프라인을 구축해야 한다.

엔드 투 엔드 방식의 데이터 수집 및 적재를 개선하고 안정성을 추구하며, 유연하면서도 확장 가능하게 자동화한 것 데이터 파이프라인이라고 부른다.

 

카프카의 특징


높은 처리량

  • 카프카는 프로듀서가 브로커로 데이터를 보낼 때와 컨슈머가 브로커로부터 데이터를 받을 때 모두 묶어서 전송한다.
  • 동일한 양의 데이터를 보낼 때 네트워크 통신 횟수를 최소한으로 줄인다면 동일 시간 내에 더 많은 데이터를 전송할 수 있다.
  • 또한 파티션 단위를 통해 동일 목적의 데이터를 여러 파티션에 분배하고 데이터를 병렬 처리할 수 있다.
    • 파티션 개수만큼 컨슈머 개수를 늘려서 동일 시간당 데이터 처리량을 늘리는 것이다.

확장성

  • 데이터 파이프라인에서 데이터를 모을 때 데이터가 얼마나 들어올지는 예측하기 어렵다.
  • 카프카는 이러한 가변적인 환경에서 안정적으로 확장 가능하도록 설계되었다.
    • 데이터가 적을 때는 카프카 클러스터의 브로커를 최소한의 개수로 운영하다가 데이터가 많아지면 클러스터의 브로커 개수를 자연스럽게 늘려 스케일 아웃할 수 있고, 반대의 경우 스케일 인 할 수 있다.

영속성

  • 카프카는 다른 메시징 플랫폼과 다르게 전송받은 데이터를 메모리에 저장하지 않고 파일 시스템에 저장한다.
  • 파일 시스템에 데이터를 적재하고 사용하는 것은 보편적으로 느리다고 생각하겠지만, 카프카는 OS레벨에서 파일 시스템을 최대한 활용하는 방법을 적용했다.
    • OS에서는 파일 I/O 성능 향상을 위해 페이지 캐시 영역을 메모리에 따로 생성하여 사용한다.
    • 페이지 캐시 메모리 영역을 사용하여 한번 읽은 파일 내용은 메모리에 저장시켰다가 다시 사용하는 방식이기 때문에 카프카가 파일 시스템에 저장하고 데이터를 저장, 전송하더라도 처리량이 높은 것이다.
  • 디스크 기반의 파일 시스템을 활용한 덕분에 브로커 애플리케이션이 장애 발생으로 인해 급작스럽게 종료되더라도 프로세스를 재시작하여 안전하게 데이터를 다시 처리할 수 있다.

고가용성

  • 3개 이상의 서버들로 운영되는 카프카 클러스터는 일부 서버에 장애가 발생하더라도 무중단으로 안전하고 지속적으로 데이터를 처리할 수 있다.
    • 클러스터로 이루어진 카프카는 데이터의 복제를 통해 고가용성의 특징을 가지게 되었다.

참고


http://www.yes24.com/Product/Goods/99122569

반응형