Apache Kafka: 이벤트 스트리밍의 탄생과 산업별 활용 사례
|
2 min read
Apache Kafka는 단순한 기술을 넘어 기업의 "데이터 흐름"을 책임지는 거대한 플랫폼으로 자리 잡았습니다. 오늘은 카프카의 탄생 배경과 그 이름의 기원, 그리고 실제 산업 현장에서 어떻게 활용되고 있는지 정리해 보았습니다.
1. 카프카의 핵심: 이벤트(Event)와 스트림(Stream)
카프카의 세계관에서 가장 중요한 단위는 이벤트입니다.
- 이벤트(Event): 비즈니스에서 일어나는 모든 일(클릭, 송금, 배송 정보 등)을 의미합니다.
- 이벤트 스트림(Event Stream): 이러한 수많은 이벤트가 연속적으로 흐르는 상태를 말하며, 이는 현대 빅데이터의 핵심적인 특징입니다.
2. 카프카의 탄생과 그 이름의 기원
카프카는 링크드인(LinkedIn) 내부에서 폭증하는 데이터 스트림을 기존 메시징 플랫폼으로 처리할 수 없어 직접 개발한 도구입니다. 2011년에 오픈소스화되어 현재 전 세계 기업들이 사용하고 있습니다.
재미있는 점은 그 이름의 기원입니다. 창시자인 Jay Kreps는 소설가 **프란츠 카프카(Franz Kafka)**를 좋아했고, 카프카가 쓰기(Write)에 최적화된 시스템인 만큼 작가(Writer)의 이름을 붙이는 것이 의미 있다고 생각했다고 합니다.
3. 왜 카프카를 써야 하는가? (3가지 특징)
- Publish & Subscribe: 이벤트 스트림을 안전하게 전송합니다.
- Write to Disk: 이벤트 스트림을 디스크에 저장하여 데이터의 안정성을 보장합니다.
- Processing & Analysis: 실시간으로 데이터를 분석하고 처리할 수 있습니다.
4. 산업별 활용 사례
카프카는 데이터가 흐르는 모든 곳에 존재합니다.
- 교통: 운전자-탑승자 매칭, 도착 예정 시간(ETA) 실시간 업데이트
- 금융: 카드 사기 감지(Fraud Detection), 중복 거래 방지, 리스크 관리
- 콘텐츠: 사용자 행동 기반의 실시간 추천 시스템
- 이커머스: 실시간 재고 관리 및 대용량 주문의 안정적인 처리
"움직이는 데이터(Data in Motion)"를 다루는 카프카는 이제 현대 아키텍처의 표준이 되었습니다. 기술의 발전 과정을 이해하면, 단순히 도구를 쓰는 것을 넘어 비즈니스의 문제를 어떻게 기술로 풀어나갈지 더 넓은 시야를 가질 수 있게 되는 것 같습니다.