# Apache Kafka

> Distributed event streaming platform

Apache Kafka is an open-source distributed log for high-throughput, durable event streaming, with a large ecosystem including Kafka Connect and Kafka Streams.

Website: https://kafka.apache.org/

## Use it when

- Several consumers need to read the same events independently, or replay history from a point in time.
- You are moving CDC streams, application events, or telemetry at a volume where a broker that routes each message would not keep up.
- Ordering within a key matters, since a partition preserves it.
- Kafka Connect and Kafka Streams cover the integration and processing you need without a separate engine.

## Think twice when

- You need request/reply, per-message routing, or priority queues; a broker such as RabbitMQ fits that shape better.
- Nobody on the team can run a cluster, and a managed service (Confluent Cloud, Amazon MSK) or a Kafka-compatible single binary (Redpanda) is not an option.
- Your volume is small enough that a database table or a managed queue would do.

## How it runs

Brokers in KRaft mode (ZooKeeper is gone in 4.0) hold a partitioned, replicated commit log; tiered storage can offload older segments to object storage. Scale by adding brokers and reassigning partitions. Kafka Connect runs as a separate cluster of workers for source and sink integration, and Kafka Streams is a library inside your application, not a server.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Open source (permissive) |
| SPDX identifier | Apache-2.0 |
| Deployment | Self-hosted, Managed, Hybrid |
| Workload | Streaming |
| Operational complexity | High |
| Pricing | Free |
| Language | Java, Scala |
| Repository | https://github.com/apache/kafka |
| Documentation | https://kafka.apache.org/documentation/ |
| Stars | 33.8k |

### Event Streaming

| Attribute | Value |
| --- | --- |
| Protocol | Kafka: defines it |
| Consumption model | Replayable log with offsets; share groups add queues since 4.2 |
| Storage | Replicated local disks; tiered storage to object store |
| What you run | Brokers in KRaft mode; ZooKeeper removed in 4.0 |
| Scaling | Add brokers, then reassign partitions; tiered storage lightens it |
| Multi-region | MirrorMaker 2, asynchronous; no built-in active-active |
| Delivery guarantee | At-least-once by default; Exactly-once with transactions |
| Connectors | Kafka Connect: a separate cluster of workers |
| Transformations | Kafka Streams library and Connect SMTs; no server-side engine |
| Billing unit | None for the project; managed Kafka billed by the vendor |

## Capabilities

- [Event Streaming](https://matca.io/capabilities/event-streaming)

---

Source: https://matca.io/apache-kafka
Last updated: 2026-08-30T13:26:23.980Z
