Created at LinkedIn and then donated to the Apache Foundation in 2011, Apache Kafka is a popular open source stream processing and data integration platform. Thousands of organizations, and 80% of the Fortune 100, rely on Kafka for their high-performance data pipelines, streaming analytics, data integration, and to stream data for business-critical applications.
This page includes resources and information to help teams using Apache Kafka optimize and improve their deployments.
Apache Kafka Versions and Support Lifecycle
Kafka has been a top-level Apache Software Foundation project since version 0.8 was developed in 2013. Since Kafka 1.0 debuted in 2017, major releases have been rolled out roughly every four months, or three times per year.
Kafka Version | Release Date |
---|---|
Apache Kafka 1.0 | November 28, 2017 |
Apache Kafka 1.1 | April 16, 2018 |
Apache Kafka 2.0 | July 31, 2018 |
Apache Kafka 2.1 | December 14, 2018 |
Apache Kafka 2.2 | March 28, 2019 |
Apache Kafka 2.3 | July 19, 2019 |
Apache Kafka 2.4 | January 10, 2020 |
Apache Kafka 2.5 | April 24, 2020 |
Apache Kafka 2.6 | September 24, 2020 |
Apache Kafka 2.7 | February 9, 2021 |
Apache Kafka 2.8 | June 8, 2021 |
Apache Kafka 3.0 | October 27, 2021 |
Apache Kafka 3.1 | April 5, 2022 |
Apache Kafka 3.2 | July 6, 2022 |
Apache Kafka 3.3 | November 4, 2022 |
Apache Kafka 3.4 | February 7, 2023 |
Apache Kafka 3.5 | June 15, 2023 |
Apache Kafka 3.6 | October 3, 2023 |
Apache Kafka 3.7 | February 26, 2024 |
Apache Kafka 3.8 | July 26, 2024 |
The community support window for Kafka major releases is one year. Here’s what the community says about their release cadence and EOL policy:
“Given 3 releases a year and the fact that no one upgrades three times a year, we propose making sure (by testing!) that [a] rolling upgrade can be done from each release in the past year (i.e. last 3 releases) to the latest version. We will also attempt, as a community to do bugfix releases as needed for the last 3 releases.”
By implementing strategies for continuous integration and rolling upgrades, organizations can keep up with the latest versions of Kafka. It’s important to remember that there are no patches in community open source software, only new versions, so being able to upgrade quickly, reliably, and confidently is the best way to avoid security vulnerabilities and bugs.
How Kafka Works and Related Technologies
While Kafka can be used in an application as a message handler, it is not a message broker; it is a stream processor. It can run as a cluster, with records stored in topics, and topics divided into partitions. Knowing when to use a true message broker, such as Apache ActiveMQ, and when to use a streaming event platform like Kafka can make all the difference in a new project.
Read more about how Kafka works >>
Explore Kafka case studies >>
Kafka Connect
Kafka Connect provides a platform to reliably stream data to/from Apache Kafka and external data sources/destinations. It’s a centralized hub for basic data integration between data platforms (such as databases, index engines, file stores, and key-value repositories), integrating them by allowing developers to share and reuse connectors.
Read more about Kafka Connect >>
Kafka Partitions
Kafka partitions work by creating multiple logs from a single topic log and spreading them across one or more brokers. Partitions are what makes Kafka scalable, and the most common partitioning strategies are round robin partitioning and message key partitioning.
Read about how to get started with Kafka partitions >>
ZooKeeper and Kafka Raft (KRaft)
ZooKeeper provides distributed configuration services, synchronization services, leadership election services, and a naming registry for a number of open source projects including Kafka, Hadoop, Spark, SOLR, NiFi, and HBase. Kafka and ZooKeeper work together to form a complete Kafka Cluster — with ZooKeeper providing distributed clustering services, and Kafka handling the actual data streams and connectivity to clients.
Read more about using Kafka with ZooKeeper >>
However, much work has been completed on KIP-500, which will deprecate ZooKeeper over time, so understanding the upgrade path is important. ZooKeeper will be eventually replaced by Kafka Raft (KRaft) metadata mode.
Read more about Kafka Raft >>
Kafka MirrorMaker
Kafka MirrorMaker is a tool for mirroring data between Apache Kafka clusters. It leverages the Kafka Connect framework to replicate data, which improves resiliency. MirrorMaker 2.0 is the current version that comes bundled with the Kafka installation package.
Learn more about Kafka MirrorMaker >>
Streaming Data With Kafka
Modern systems generate more data than ever before. And, for complex enterprise systems, facilitating that data in real-time is key to business success. Harnessing data streams at scale is a challenge for many organizations, but Kafka is a low-latency, highly durable stream processing platform capable of handling huge volumes of data.
Stream Processing
Within the Kafka platform, the streams API helps with wiring applications to manipulate streams, functioning as a stream processor. Events are managed in real-time and routed from different sources to different destinations continuously. This is done with all the necessary controls for dependable usability to write, store, and process small and large volumes of data.
Read more about Kafka stream processing >>
Watch on-demand webinar about harnessing streaming data with Kafka >>
Kafka Streaming with Spark
In the current technology landscape, existing applications and workloads are looking for expedited delivery. With real-time data lakes, it is possible to leverage Spark and Kafka in multi-data environments that demand capturing and processing in seconds.
Read more about data streaming with Kafka and Spark >>
Watch on-demand webinar about real-time Kafka data lakes >>
Download white paper on Cassandra, Kafka, and Spark >>
Security
Given how harmful a data breach can be to an organization’s reputation, it’s important to keep your Kafka environment secure. This means not running the default configuration and regularly upgrading, as well as implementing encryption, hardening, and authentication processes.
Read more about Kafka security best practices >>
Kafka on Kubernetes
Running Kafka on Kubernetes allows it to be deployed in the most native way possible. When combined with Strimzi, managing and running Kafka Clusters on a container orchestration system like Kubernetes is easy — whether that's on-prem, or across public, private, or hybrid clouds.
Videos:
Running Kafka on Kubernetes With Strimzi
Kafka on K8s: Lessons From the Field
Get the Decision Maker's Guide to Apache Kafka
Finding long-term success with Kafka requires an understanding of its unique architecture, how it works with other technologies, and best practices for configuration and security. This comprehensive white paper covers everything you need to know to successfully implement Kafka and optimize your enterprise deployments.
Apache Kafka Alternatives
Many of the technologies that often get compared are not true 1:1 Kafka alternatives, but have some overlapping capabilities and similar enterprise use cases.
Here's a quick video highlighting some of the differences between Kafka, RabbitMQ, and ActiveMQ:
Kafka vs. ActiveMQ
Kafka, as an event streaming platform, is typically used differently than ActiveMQ, which is an open source message broker.
Read more about Kafka vs. ActiveMQ >>
Kafka vs. RabbitMQ
RabbitMQ is an open-source distributed message broker. While both Kafka and RabbitMQ use a publish/subscribe messaging system, Kafka takes a pull-based approach, whereas RabbitMQ employs a push model.
Read more about Kafka vs. RabbitMQ >>
Here's a quick video highlighting the differences between Kafka, ActiveMQ, and RabbitMQ:
Kafka vs. Redis
Although they often get compared, Kafka is an open source stream processing platform, while Redis is a general purpose in-memory data store, so the two technologies serve very different functions within application data infrastructure.
Read more about Kafka vs. Redis >>
Kafka Streams vs. Apache Flink
Although initially created for different use cases, Apache Flink and Kafka Streams API have a lot of overlap in their application. While both can solve stream processing challenges, their differences in deployment, architecture, and more are worth considering before making a decision.
Read more about Kafka Streams vs. Flink >>
Kafka vs. Hadoop
Despite some overlap in Big Data use cases, Kafka and Hadoop are not really 1:1 solutions and both play an important role in the landscape of data management infrastructure. It's critical to understand why organizations might select one or the other, or implement both as part of their streaming data strategy.
Find out when to choose Kafka vs. Hadoop >>
Dependable Support for Your Kafka Deployments
If you’re using Kafka at scale, when things go wrong, they go wrong at the same scale.
OpenLogic provides SLA-backed, 24/7/365 Kafka technical support and services — our experienced enterprise architects can help configure, improve, and maintain your entire Kafka stack, including Kafka for data lakes, Kafka on bare metal, Kafka with Kubernetes operators, and Kafka with Prometheus and Grafana.