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 VersionRelease Date
Apache Kafka 1.0November 28, 2017
Apache Kafka 1.1April 16, 2018
Apache Kafka 2.0July 31, 2018
Apache Kafka 2.1December 14, 2018
Apache Kafka 2.2March 28, 2019
Apache Kafka 2.3July 19, 2019
Apache Kafka 2.4January 10, 2020
Apache Kafka 2.5April 24, 2020
Apache Kafka 2.6September 24, 2020
Apache Kafka 2.7February 9, 2021
Apache Kafka 2.8June 8, 2021
Apache Kafka 3.0October 27, 2021
Apache Kafka 3.1April 5, 2022
Apache Kafka 3.2July 6, 2022
Apache Kafka 3.3November 4, 2022
Apache Kafka 3.4February 7, 2023
Apache Kafka 3.5June 15, 2023
Apache Kafka 3.6October 3, 2023
Apache Kafka 3.7February 26, 2024
Apache Kafka 3.8July 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.

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

decorative image for blog on kafka streaming use cases


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. 

PDF Openlogic Kafka Image

 

DOwnload Now

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 >> 

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.

Get Kafka Support