본문 바로가기
Tech

카프카(Kafka)의 간단한 개념과 원리

by 별별 리뷰어 2021. 2. 10.
반응형

빅데이터 처리용 오픈 소스

기업이 사용할 수 있는 데이터의 양이 점점 더 많아지고 있고, 이것을 처리하고 배울 수 있도록 돕기 위해 등장한 플랫폼, 프레임워크 및 기술의 수는 어마어마할 수 있습니다. 대표적으로 Hadoop, Spark, Tensorflow, Python와 같은 것들이 있습니다. 그 중에서 빅데이터 처리에서 가장 많이 쓰이는 Kafka는 고속으로 실시간 정보 처리를 위해 특별히 설계된 데이터 처리 엔진입니다.

 

아파치 카프카

카프카는 무엇인가

Kafka는 스트리밍 데이터를 저장, 읽기, 분석하는 프레임워크를 제공하는 오픈 소스 소프트웨어입니다. 오픈 소스라는 것은 기본적으로 사용이 자유롭고 업데이트, 새로운 기능, 새로운 사용자에 대한 지원 제공에 기여하는 사용자와 개발자의 대규모 네트워크를 가지고 있다는 것을 의미합니다. Kafka는 분산환경에서 실행되도록 설계되었으며, 이는 한 사용자의 컴퓨터에 실행되는 것이 아니라 여러 서버에서 실행되어 추가적인 처리 능력과 스토리지 용량을 활용한다는 것을 의미합니다.

 

Kafka는 원래 LinkedIn(링크드인)에서 개발되었으며, 사람 간의 네트워크를 구축하기 위해 수백만 명의 사용자 간의 연결을 분석하기 위해 설계되었습니다. 그 후 2011년 오픈 소스 지위를 부여받아 오픈 소스 소프트웨어 개발을 조정하고 감독하는 아파치 재단으로 넘어갔습니다.

 

카프카의 원리

오늘날 기업은 실시간 데이터 분석에 점점 더 많이 의존합니다. 왜냐하면 더 빠른 통찰력과 더 빠른 응답 시간을 얻을 수 있기 때문에 시장에서의 경쟁력을 얻을 수 있기 때문입니다. 실시간 스트리밍 데이터를 통해 기업 또는 조직은 가능한 최신 정보를 기반으로 프로모션, 저장, 재고관리 등등의 많은 것들을 예측하고 실행할 수 있습니다.

 

빅데이터 시대 이전의 전통적인 방법으로, 기업들은 데이터를 네트워크를 통해 배치(Batch)로 처리 및 전송되었습니다. 이는 CPU가 정보 읽기 및 전송과 관련된 계산을 처리할 수 있거나 센서가 데이터를 감지할 수 있는 속도인 파이프라인의 제한에 따라 결정됩니다. 이러한 데이터 처리 방식은 병목현상을 일으키게 됩니다.

 

하지만 Kafka는 분산된 환경에서 들어오는 데이터를 관리하는 간소화된 방식 덕분에 매우 신속하게 운영될 수 있으며, 대형 클러스터는 매초 수백만 건의 데이터셋 변경 사항을 모니터링하고 대응할 수 있습니다. 즉, 실시간으로 스트리밍 데이터를 사용하여 작업을 시작하고 데이터에 대응할 수 있게 됩니다. 웹사이트의 모든 세션의 데이터를 분석함으로써 사용자 행동을 보다 잘 이해할 수 있습니다. 이를 통해 방문객이 관심을 가질 만한 뉴스 기사나 판매 제품을 예측할 수 있습니다.

 

카프카 사용 사례

이후 Kafka는 널리 사용되고 있으며, Spotify, Netflix, Uber, Goldman Sachs, Paypal 같은 대기업에서 필수적인인 기술로 사용되고 있으며, 모두 스트리밍 데이터를 처리하고 고객 또는 시스템 동작을 이해하는 데 사용됩니다. Kafka가 우위를 점하고 있는 특별한 틈새 시장 중 하나는 여행 업계입니다. 여행 업계는 카프카의 스트리밍 기능을 통해 전 세계 수백만 항공편의 예약 세부 정보, 패키지 휴가 및 호텔의 정보까지 파악하고 있습니다.

반응형

댓글