권찡's 공학이야기

Kafka ? 본문

IT & Cloud/Kafka

Kafka ?

권찡 2020. 2. 6. 17:36

개인적으로 공부하면서 Kafka에 대해서 알게 되었습니다. 그래서 공부를 하면서 저 나름대로 정리를 해보고 남들도 알아보기 쉽게 설명하다보면 저 역시 더 공부하게 되서 오랜만에 블로그 연재를 해보겠습니다.

 

앞으로 시간 나면 그동안 정리하지 못했던 파트도 다시 써보겠습니다. 제가 참고하고 있는 책은 

이겁니다. 

 

첫장이니 가볍게 소개 및 정리만 해보겠습니다. 

 

대규모, 대용량 메시지 데이터를 빠르게 처리하도록 개발된 메시징 플랫폼이라고 보면 될것 같습니다.

 

원래 링크드인에서 출발해 20011년 초 Apache 공식 오픈소스로 공개되었습니다.

 

특히나 요즘 많은 기업이 자사의 빅데이터를 기반해 사용자의 성향을 분석해 앞으로의 고객 행위를 예측하는 추천 기술에 많은 관심을 가지고 있는데, 이 카프카는 빅데이터를 분석할 때 여러 저장소(스토리지)와 분석 시스템을 연결하기 위하 필수 도구로 인식되고 있습니다.

 

저는 이말을 데이터 파이프라인같다고 이해했습니다. 저도 그렇고 처음 접하는 분들도 많을 것 같아서, 기본 개념만 설명해보겠습니다.

 

카프카는 비동기 처리를 위한 메시징 큐의 한 종류이며, 프로듀서와 컨슈머가 있습니다. 비동기 메시징 시스템으로 대표적인 메일과 비교하면 될 것 같네요.

 

메일의 경우 

보내는 사람 - 메일 서버 - 받는 사람

 

위와 같은 간략한 구조를 가집니다. 보내는 사람은 받는 사람과 관계없이 메일 서버로 메세지를 보냅니다. 보낸 메세지는 메일 서버에 저장되어 있고, 받는 사람은 자신이 원하는 언제든 메일을 확인할 수 있죠.

 

카프카 시스템도 비슷합니다.

메세지를 발행하는 Producer(프로듀서)가 있고, 메세지를 가져오는 Consumer(컨슈머)가 있습니다. 즉 메일과 비슷하게

 

Producer - Kafka server - Consumer

 

와 같은 구조입니다. 다만 유투브 구독과 비슷하게 어떤 주제(Topic)에 대해서 구독하는 형태가 추가된거라 보면 될것 같네요.

 

마치 어떤 한 유투버를 구독하면 해당 유투버가 새로운 영상을 올릴때 알람이 가서 구독자는 영상을 볼 수 있는 것과 비슷한 시스템입니다.

 

 

 

 

 

간단하게 처음은 이정도만 하고, 다음부터 좀더 세부적으로 들어가서 개념도 알고 실제로 설치해서 실습도 해보겠습니다.

 

 

'IT & Cloud > Kafka' 카테고리의 다른 글

Kafka 의 기본 개념 이해  (0) 2020.02.10