본문으로 건너뛰기
FindOpenSource

Apache Kafka

데이터를 영구적이고 재생 가능한 로그로 저장하는 분산 이벤트 스트리밍 플랫폼으로, 전통적인 1:1 큐잉이 아니라 고처리량 실시간 파이프라인을 위해 만들어졌습니다.

개요

Apache Kafka는 지속적인 이벤트 스트림을 대규모로 발행, 저장, 처리하기 위한 분산 이벤트 스트리밍 플랫폼입니다. 전통적인 메시지 브로커와 달리 Kafka는 설정 가능한 보존 기간 동안 이벤트를 순서가 있는 추가 전용(append-only) 로그에 보관하므로, 여러 독립적인 컨슈머가 같은 메시지를 두고 경쟁하지 않고도 각자의 속도로 같은 이벤트 스트림을 읽고—또 다시 읽을— 수 있습니다.

이러한 로그 기반 모델 덕분에 Kafka는 이벤트 소싱, 실시간 분석 파이프라인, 그리고 공유되고 재생 가능한 단일 진실 공급원(source of truth)을 중심으로 다수의 프로듀서와 컨슈머를 연결하는 데 적합하며, 파이프라인 내에서 직접 데이터를 처리할 수 있는 Kafka Streams와 ksqlDB도 제공됩니다. Kafka는 분산 클러스터로 동작하도록 설계되었으며 매우 높은 읽기·쓰기 처리량을 견디도록 만들어졌습니다.

Kafka는 지속성과 리플레이가 필요한 이벤트 기반 아키텍처나 실시간 데이터 파이프라인을 구축하는 팀에 적합하며, 카탈로그에 함께 있는 RabbitMQ를 대체하기보다는 보완합니다. RabbitMQ의 큐와 라우팅 모델은 전통적인 백그라운드 작업이나 작업 큐 워크로드에 더 적합합니다.

카테고리
백엔드
키워드
event-streamingmessage-queuestream-processingdistributed-logkafka
언어
Java, Scala
라이선스
Apache-2.0

잘못된 정보를 발견하셨나요? GitHub에서 수정 제안하기