Generated by GPT-5-mini| Apache Kafka | |
|---|---|
| Name | Apache Kafka |
| Developer | Apache Software Foundation |
| Initial release | 2011 |
| Programming language | Java (programming language), Scala (programming language) |
| Operating system | Linux, Windows, macOS |
| License | Apache License |
Apache Kafka Apache Kafka is a distributed streaming platform designed for high-throughput, low-latency data pipelines, stream processing, and message brokering. Kafka is used by organizations for real-time analytics, event-driven architectures, and log aggregation, and it interoperates with many systems in data ecosystems.
Kafka originated as a project to handle large-scale data streams and is maintained by the Apache Software Foundation. Major adopters include LinkedIn, Netflix, Uber Technologies, Airbnb, and Goldman Sachs. Kafka is often compared to systems such as RabbitMQ, ActiveMQ, Amazon Kinesis, Google Cloud Pub/Sub, and Microsoft Azure Event Hubs. It supports integrations with projects like Hadoop, Spark (software), Flink, Samza, NiFi, and Cassandra (database). Typical deployment contexts include Amazon Web Services, Google Cloud Platform, Microsoft Azure, Kubernetes, and on-premises datacenters using distributions from vendors like Confluent, Cloudera, and IBM.
Kafka’s architecture centers on a distributed, partitioned, replicated commit log with brokers coordinating via Apache Zookeeper or a built-in metadata quorum. Brokers run on servers that host topic partitions; clients produce and consume messages with configurable guarantees for durability and ordering. Kafka supports log compaction and time-based retention; administrators tune replication factors, leader election, ISR (in-sync replica) behavior, and segment sizes. Key operational components include controller nodes, partition leaders, and metadata management interacting with tools such as ZooKeeper Administration and orchestration platforms like Apache Helix.
Kafka exposes primitives such as topics, partitions, producers, consumers, consumer groups, offsets, and brokers. Topics are logical streams subdivided into partitions; partitions provide parallelism and ordering guarantees per partition. Producers append records; consumers read sequentially using offsets and coordinate group membership for parallel consumption using protocols compatible with Kafka Streams and Consumer Group Management. Storage uses segment files, index files, and log compaction; replication provides fault tolerance via leaders and followers. Supplementary components include schema management via Confluent Schema Registry and serialization formats like Apache Avro, JSON, Protocol Buffers, and Apache Thrift.
Kafka is applied to event sourcing, change data capture, metrics collection, operational monitoring, and stream processing. Enterprises employ Kafka for microservices choreography, CI/CD pipelines, fraud detection, personalization, and telemetry for Internet of Things devices. Common patterns integrate Kafka with Debezium for change capture from MySQL, PostgreSQL, Oracle Database, and MongoDB (database), and with analytic engines like Presto, Trino, Druid (data store), and ClickHouse. Kafka underpins solutions in finance, adtech, gaming, telecommunications, and healthcare organizations such as Stripe and Capital One.
Operational concerns include capacity planning, broker scaling, partition count, replication, and monitoring with tools like Prometheus, Grafana, Elastic Stack, and Splunk. Administrators manage rolling upgrades, broker reassignments, partition rebalancing, and quota enforcement; tools include kafka-manager and Cruise Control. Security involves TLS, SASL, ACLs, and integration with identity systems such as LDAP and Kerberos. Cloud-managed offerings include Confluent Cloud, Amazon MSK, Azure Event Hubs for Kafka, and Google Cloud Pub/Sub Kafka Connectors for managed deployments.
Kafka’s ecosystem features clients and connectors supporting many technologies: JDBC, HDFS, Elasticsearch, Redis, MongoDB (database), PostgreSQL, MySQL, Cassandra (database), HBase, S3 (Amazon Web Services), Snowflake, Databricks, Apache Spark, Flink, Samza, NiFi, KSQLDB, and Kafka Connect. Commercial vendors and projects such as Confluent, Cloudera, Red Hat, IBM, and Aiven provide distributions, managed services, and extensions. Observability and tracing integrate with OpenTelemetry, Jaeger, and Zipkin.
Kafka was initially developed at LinkedIn to address activity stream processing and was open-sourced and donated to the Apache Software Foundation in 2011. Key milestones include the introduction of the replication protocol, the evolution of stream processing APIs culminating in Kafka Streams and KSQLDB, and changes in metadata management replacing exclusive dependence on Apache Zookeeper. Notable contributors and committers have come from organizations such as Confluent, LinkedIn, Uber Technologies, Twitter, and Shopify. The project’s evolution influenced and was influenced by other systems in the big data era, including Hadoop, Storm, Spark (software), and Flink.