brunch

You can make anything
by writing

C.S.Lewis

by April Sep 14. 2018

실시간 데이터 수집의 강자 '카프카'

01

실시간 데이터 수집 도구





카프카

링크드인이 개발한 카프카(Kafka)는 웹사이트, 애플리케이션, 센서 등에서 취합한 데이터 스트림을 실시간으로 관리하기 위한 오픈소스 시스템이다. (http://www.ciokorea.com/news/27214)


카프카는 대용량의 실시간 로그 처리에 특화되어 설계된 메시징 시스템이다. 카프카는 메시지를 토픽으로 분류할 수 있다. 단 시간 내에 엄청난 양의 데이터와 다양한 유형의 데이터를 실시간으로 수집할 수 있다.


토픽 : 카테고리화 되어 있는 메시지 그룹



동작 방식

Producer가 메시지를 Broker에 전달한다. Broker는 전달받은 메시지를 토픽으로 분류하고, 해당 토픽을 구독하는 Consumer 가 직접 메시지를 가져온다.



카프카 적용 사례


사례 1 

1) 카프카로부터 온 메시지를 HDFS에 저장해 분석 및 리포팅에 사용하는 경우

- 웹 사이트 클릭 스트림 활동을 추적하거나, 실시간 대시보드 또는 모니터링에 사용할 수 있다.


사례 2

2) 실시간 스트림 프로세싱에 사용하는 경우

- 스파크 스트리밍, 스톰의 데이터 소스 역할로 메시지를 전달한다.




02

한 줄 요약


카프카는 실시간 스트림 프로세싱 분야에서 하둡과 같은 존재이다.



위의 문장으로 요약한 이유는 실시간 처리에서 대부분 쓰이기 때문이다. 현재 우리팀의 솔루션이서도 카프카를 데이터 소스로 쓰고 있고, 구글에 실시간 카프카라고 검색하면 여러 기업들의 기술 블로그를 통해 볼 수 있을 것이다.


자세한 내용을 다루기에는 아직 나의 지식이 부족하고, 나와 같은 입문자들에겐 이 정도로 정리하면 충분하다고 생각한다.


그렇기 때문에 실시간에서는 카프카를 쓰는구나 라고 알아두기만 하면 된다!





글을 읽는 모든 분들의 라이킷과 댓글을 환영합니다. ;-)


제가 공부하면서 정리한 내용을 바탕으로 작성했기 때문에 내용에 부족함이 있을 수 있습니다.


보완해야 할 점이나 부정확한 내용이 있다면 댓글로 많은 조언 부탁드립니다.




Copyright 2018. April all rights reserved.

매거진의 이전글 RDBMS 데이터 수집 도구 '스쿱'
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari