Apache Kafka
데이터를 영구적이고 재생 가능한 로그로 저장하는 분산 이벤트 스트리밍 플랫폼으로, 전통적인 1:1 큐잉이 아니라 고처리량 실시간 파이프라인을 위해 만들어졌습니다.
개요
Apache Kafka는 지속적인 이벤트 스트림을 대규모로 발행, 저장, 처리하기 위한 분산 이벤트 스트리밍 플랫폼입니다. 전통적인 메시지 브로커와 달리 Kafka는 설정 가능한 보존 기간 동안 이벤트를 순서가 있는 추가 전용(append-only) 로그에 보관하므로, 여러 독립적인 컨슈머가 같은 메시지를 두고 경쟁하지 않고도 각자의 속도로 같은 이벤트 스트림을 읽고—또 다시 읽을— 수 있습니다.
이러한 로그 기반 모델 덕분에 Kafka는 이벤트 소싱, 실시간 분석 파이프라인, 그리고 공유되고 재생 가능한 단일 진실 공급원(source of truth)을 중심으로 다수의 프로듀서와 컨슈머를 연결하는 데 적합하며, 파이프라인 내에서 직접 데이터를 처리할 수 있는 Kafka Streams와 ksqlDB도 제공됩니다. Kafka는 분산 클러스터로 동작하도록 설계되었으며 매우 높은 읽기·쓰기 처리량을 견디도록 만들어졌습니다.
Kafka는 지속성과 리플레이가 필요한 이벤트 기반 아키텍처나 실시간 데이터 파이프라인을 구축하는 팀에 적합하며, 카탈로그에 함께 있는 RabbitMQ를 대체하기보다는 보완합니다. RabbitMQ의 큐와 라우팅 모델은 전통적인 백그라운드 작업이나 작업 큐 워크로드에 더 적합합니다.
- 카테고리
- 백엔드
- 언어
- Java, Scala
- 라이선스
- Apache-2.0
관련 프로젝트
Apache RocketMQ
Apache-2.0매우 높은 처리량에서 금융 등급의 트랜잭션 신뢰성을 위해 만들어진 분산 메시징·스트리밍 플랫폼입니다.
- 백엔드
Pulsar
Apache-2.0전통적인 큐잉과 이벤트 스트리밍을 통합하고 멀티 테넌시를 기본 제공하는 분산 메시징·스트리밍 플랫폼입니다.
- 백엔드
RabbitMQ
MPL-2.0AMQP, MQTT, STOMP를 지원하며 신뢰할 수 있는 큐, 라우팅, 발행/구독 메시징으로 서비스를 분리하는 성숙하고 널리 사용되는 메시지 브로커입니다.
- 백엔드
Strimzi
Apache-2.0Apache Kafka 클러스터 운영을 자동화하는 Kubernetes 오퍼레이터로, 배포, 설정, 라이프사이클 관리를 처리합니다.
- 백엔드
잘못된 정보를 발견하셨나요? GitHub에서 수정 제안하기