지금 Current 2022: The Next Generation of Kafka Summit에 등록해서 데이터 스트리밍의 미래를 라이브로 확인해 보세요!

Kafka란?

Apache Kafka는 스트림 처리, 실시간 데이터 파이프라인 및 대규모 데이터 통합에 사용되는 오픈 소스 분산 스트리밍 시스템입니다. 2011년에 LinkedIn에서 실시간 데이터 피드를 처리하기 위해 처음 개발된 Kafka는 메시지 대기열에서 초당 100만여 개의 메시지 또는 매일 조 단위의 메시지를 처리할 수 있는 종합 이벤트 스트리밍 플랫폼으로 빠르게 진화했습니다.

왜 Kafka를 선택해야 할까요?

Kafka에는 수많은 이점이 있습니다. 오늘날 Kafka는 거의 모든 산업에서 포춘지 선정 100대 기업 중 80% 이상이 크고 작은 수많은 사용 사례에 사용하고 있습니다. 개발자 및 아키텍트가 최신 세대의 확장 가능한 실시간 데이터 스트리밍 애플리케이션을 구축하는 데 사용하고 있는 사실상의 표준(de facto) 기술입니다. 이러한 작업은 시장에서 사용할 수 있는 다양한 기술로 수행할 수 있지만 Kafka가 이처럼 널리 사용되는 주된 이유는 다음과 같습니다.

High Throughput

Capable of handling high-velocity and high-volume data, Kafka can handle millions of messages per second.

High Scalability

Scale Kafka clusters up to a thousand brokers, trillions of messages per day, petabytes of data, hundreds of thousands of partitions. Elastically expand and contract storage and processing.

Low Latency

Can deliver these high volume of messages using a cluster of machines with latencies as low as 2ms

Permanent Storage

Safely, securely store streams of data in a distributed, durable, reliable, fault-tolerant cluster

High Availability

Extend clusters efficiently over availability zones or connect clusters across geographic regions, making Kafka highly available and fault tolerant with no risk of data loss.

How Kafka Works

Apache Kafka consists of a storage layer and a compute layer that combines efficient, real-time data ingestion, streaming data pipelines, and storage across distributed systems. In short, this enables simplified, data streaming between Kafka and external systems, so you can easily manage real-time data and scale within any type of infrastructure.

대규모 실시간 처리

데이터 스트리밍 플랫폼의 핵심은 생성된 데이터를 바로 처리하고 분석할 수 있게 하는 것입니다. Kafka Streams API는 즉각적인 처리를 지원하는 강력하고 가벼운 라이브러리로, 이를 통해 집계, 윈도윙 매개변수 생성, 스트림 내 데이터 결합 수행 등을 수행할 수 있습니다. 그리고 무엇보다도, Kafka 위에 Java 애플리케이션으로 구축되어 있어 유지 관리할 추가 클러스터 없이 워크플로우를 그대로 유지할 수 있습니다.

내구성이 뛰어난 영구 스토리지

분산 데이터베이스에서 일반적으로 찾을 수 있는 분산 커밋 로그의 추상화인 Apache Kafka는 내구성이 뛰어난 스토리지를 제공합니다. Kafka는 '정보 소스' 역할을 하여, 단일 데이터 센터 내 또는 여러 가용성 영역 전반에서 가용성이 뛰어난 배포를 위해 여러 노드에 데이터를 분산할 수 있습니다.

발행, 구독

중심에 위치한 작고 변경 불가능한 커밋 로그를 통해 구독을 수행하고 원하는 수의 시스템 또는 실시간 애플리케이션으로 데이터를 발행할 수 있습니다. 메시징 큐와 달리 Kafka는 고도로 확장 가능한 내결함성 분산 시스템으로, Uber에서의 승객 및 운전자 매칭 관리, British Gas의 스마트 홈을 위한 실시간 분석 및 예측 유지보수 제공, LinkedIn에서의 수많은 실시간 서비스 실행과 같은 애플리케이션에 배포할 수 있습니다. 이 고유한 성능으로 인해 하나의 앱에서 전사적 용도로 확장하기에 적합합니다.

What is Kafka Used For?

Commonly used to build real-time streaming data pipelines and real-time streaming applications, today, there are hundreds of Kafka use cases. Any company that relies on, or works with data can find numerous benefits.

Data Pipelines

In the context of Apache Kafka, a streaming data pipeline means ingesting the data from sources into Kafka as it's created and then streaming that data from Kafka to one or more targets.

Stream Processing

Stream processing includes operations like filters, joins, maps, aggregations, and other transformations which enterprises leverage to power many use-cases. Kafka Streams is a stream processing library built for Apache Kafka enabling enterprises to process data in real-time.Learn more

Streaming Analytics

Kafka provides high throughput event delivery, and when combined with open-source technologies such as Druid can form a powerful Streaming Analytics Manager (SAM). Druid consumes streaming data from Kafka to enable analytical queries. Events are first loaded in Kafka, where they are buffered in Kafka brokers before they are consumed by Druid real-time workers.

Streaming ETL

Real-time ETL with Kafka combines different components and features such as Kafka Connect source and sink connectors to consume and produce data from/to any other database, application, or API, Single Message Transform (SMT) – an optional Kafka Connect feature, Kafka Streams for continuous data processing in real-time at scale.

Event-Driven Microservices

Apache Kafka is the most popular tool for microservices because it solves many of the issues of microservices orchestration while enabling attributes that microservices aim to achieve, such as scalability, efficiency, and speed. It also facilitates inter-service communication while preserving ultra-low latency and fault tolerance.

Apache Kafka in Action

Kafka를 사용하는 기업

Airbnb logo
Netflix
Goldman Sachs
Linkedin
Microsoft
New York Times
Intuit

To Maximize Kafka, You Need Confluent

Founded by the original developers of Kafka, Confluent delivers the most complete distribution of Kafka with Confluent, improving Kafka with additional community and commercial features designed to enhance the streaming experience of both operators and developers in production, at massive scale.

You love Apache Kafka®, but not managing it. Confluent's cloud-native, complete, and fully managed service goes above & beyond Kafka so your best people can focus on what they do best - delivering value to your business.

Cloud Kafka

Cloud-Native

We’ve re-engineered Kafka to provide a best-in-class cloud experience, for any scale, without the operational overhead of infrastructure management. Confluent offers the only truly cloud-native experience for Kafka—delivering the serverless, elastic, cost-effective, highly available, and self-serve experience that developers expect.

Complete Kafka

Complete

Creating and maintaining real-time applications requires more than just open source software and access to scalable cloud infrastructure. Confluent makes Kafka enterprise ready and provides customers with the complete set of tools they need to build apps quickly, reliably, and securely. Our fully managed features come ready out of the box, for every use case from POC to production.

Kafka Everywhere

Everywhere

Distributed, complex data architectures can deliver the scale, reliability, and performance that unlocks use cases previously unthinkable, but they're incredibly complex to run. Confluent's complete, multi-cloud data streaming platform makes it easy to get data in and out of Kafka Connect, manage the structure of data using Confluent Schema Registry, and process it in real time using ksqlDB. Confluent meets our customers everywhere they need to be — powering and uniting real-time data across regions, clouds, and on-premises environments.

지금 바로 체험해 보세요

Confluent는 과거 데이터와 실시간 데이터를 단일 정보 소스에 통합함으로써 완전히 새로운 범주의 현대적인 이벤트 기반 애플리케이션을 쉽게 구축하고 범용 데이터 파이프라인을 확보하며 완벽한 확장성, 보안 및 성능을 갖춘 강력하고 새로운 이용 사례를 활용할 수 있도록 지원합니다.

신규 계정 생성 후 4개월 동안 사용할 수 있는 400달러 상당의 무료 크레딧으로 지금 바로 무료로 체험해 보세요. 별도의 결제가 필요하지 않습니다.

Apache Kafka는 시작하기 쉽고 4가지 API(Producer, Consumer, Streams 및 Connect)가 포함된 강력한 이벤트 스트리밍 플랫폼을 제공한다는 이점으로 인해 개발자에게 인기 있는 도구입니다.

개발자는 주로 단일 이용 사례로 시작합니다. 즉, Apache Kafka를 메시지 버퍼로 사용하여 오늘날의 워크로드를 따라갈 수 없는 레거시 데이터베이스를 보호하거나, Connect API를 사용하여 해당 데이터베이스를 함께 제공되는 검색 인덱싱 엔진과 동기화된 상태로 유지함으로써 Streams API를 사용하여 데이터가 도착하는 즉시 처리하여 애플리케이션에 바로 집계를 표시할 수 있습니다.

간단히 말해 Apache Kafka와 해당 API를 사용하면 데이터 기반 앱을 구축하고 복잡한 백엔드 시스템을 간단하게 관리할 수 있습니다. Kafka를 사용하면 데이터가 항상 내결함성이 있고 재생 가능하며 실시간으로 제공된다는 확신으로 안심할 수 있습니다. 실시간 데이터로 앱과 시스템을 처리, 저장 및 연결할 수 있는 단일 이벤트 스트리밍 플랫폼을 제공하여 신속하게 구축할 수 있도록 지원합니다.