[AWS] Kafka란 무엇인가?
AWS에서 말하는 Kafka는 보통 **Amazon MSK (Managed Streaming for Apache Kafka)**를 의미합니다.
Kafka 자체는 분산형 이벤트 스트리밍 플랫폼이고, AWS는 이를 관리형 서비스 형태로 제공해줍니다.
아래에서 Kafka 개념 → AWS MSK 용도 → 활용 사례 순으로 자세히 설명드릴게요.
1. Kafka란 무엇인가?
Kafka는 실시간 데이터 스트리밍 플랫폼으로, 대량의 데이터를 안정적으로 발행(Publish), 구독(Subscribe), 저장(Store), 처리(Process) 할 수 있도록 만들어진 분산형 메시지 브로커입니다.
-
Producer: 데이터를 발행하는 주체 (예: IoT 센서, 로그 시스템, 앱 서버)
-
Broker (Kafka 서버): 데이터를 저장하고 전달하는 역할
-
Consumer: 데이터를 구독해서 처리하는 주체 (예: 분석 시스템, 데이터 파이프라인)
즉, Kafka는 대규모 데이터 파이프라인과 실시간 스트리밍 애플리케이션을 위한 중심 허브라고 보면 됩니다.
2. AWS Kafka (Amazon MSK)의 용도
AWS에서 Kafka를 직접 구축하려면 EC2 서버, Zookeeper, 네트워크, 보안, 운영 자동화까지 직접 관리해야 하는데, 이는 운영 부담이 매우 큽니다.
👉 그래서 AWS는 **MSK (Managed Streaming for Apache Kafka)**를 제공하여, 운영 부담을 줄여줍니다.
주요 용도
-
실시간 로그 수집 및 처리
-
애플리케이션 로그, 웹 클릭 로그, IoT 센서 데이터를 Kafka 토픽에 모아 실시간 분석 가능
-
-
데이터 파이프라인 구축
-
데이터 레이크(S3), 데이터 웨어하우스(Redshift), 분석 엔진(OpenSearch, Athena)와 연결해서 데이터 흐름 자동화
-
-
마이크로서비스 간 메시징
-
마이크로서비스 아키텍처에서 서비스 간 이벤트를 Kafka를 통해 주고받아 확장성과 비동기 처리를 지원
-
-
실시간 스트리밍 분석
-
Apache Flink, Spark Streaming, Kinesis Data Analytics 같은 분석 툴과 결합해 실시간 데이터 처리
-
-
IoT 및 이벤트 처리
-
수많은 IoT 기기에서 발생하는 이벤트를 안정적으로 모아서 후처리
-
3. AWS MSK의 장점
-
완전 관리형: 클러스터 프로비저닝, 패치, 백업, 모니터링까지 자동 처리
-
고가용성 & 확장성: 여러 AZ에 분산 배치, 트래픽 증가 시 확장 용이
-
보안: IAM, VPC, KMS, TLS 등 AWS 보안 서비스와 통합
-
저비용: 사용한 만큼만 지불 (EC2 기반 직접 운영 대비 TCO 절감 가능)
-
통합성: Lambda, S3, Redshift, OpenSearch 등과 네이티브로 연결 가능
4. 실제 활용 예시
-
네이버/쿠팡 같은 쇼핑몰: 사용자 행동(검색, 클릭, 장바구니 담기 등)을 Kafka로 수집 → 추천 엔진/실시간 마케팅에 활용
-
금융사: 실시간 거래 이벤트를 Kafka로 모니터링 → 이상 거래 탐지(FDS)
-
게임사: 게임 로그, 유저 이벤트를 수집 → 실시간 대시보드/랭킹 시스템 구축
-
IoT 서비스: 수백만 대 기기에서 센서 데이터 수집 → 분석 및 알람 서비스
5. MSK와 다른 AWS 서비스 비교
-
MSK vs SQS/SNS
-
SQS/SNS는 단순 메시징 서비스 (메시지 보관 기간 짧음, 스트리밍 분석에 적합하지 않음)
-
MSK는 장기간 보관 가능, 고성능 스트리밍 처리 가능
-
-
MSK vs Kinesis
-
Kinesis는 AWS 자체 스트리밍 서비스 (완전 관리형, Kafka보다 설정 간단)
-
MSK는 Kafka 오픈소스 기반이라 기존 Kafka 환경과 호환성 유지 가능
-
👉 정리하면, **AWS Kafka(MSK)**는
기업이 실시간 데이터 스트리밍, 로그 수집, 이벤트 처리, 마이크로서비스 메시징을 손쉽게 운영할 수 있도록 도와주는 완전 관리형 Kafka 서비스라고 보시면 됩니다.
댓글
댓글 쓰기