Chapter 3. Features
Features introduced in Streams for Apache Kafka 3.0.
Streams for Apache Kafka 3.0 on RHEL is based on Apache Kafka 4.0.
To view all the enhancements and bugs that are resolved in this release, see the Streams for Apache Kafka Jira project.
3.1. Kafka 4.0 support Copy linkLink copied to clipboard!
Streams for Apache Kafka now supports and uses Apache Kafka version 4.0. Only Kafka distributions built by Red Hat are supported.
For upgrade instructions, see Using Streams for Apache Kafka on RHEL in KRaft mode.
Refer to the Kafka 4.0 Release Notes for additional information.
Kafka 3.9.x is supported only for the purpose of upgrading to Streams for Apache Kafka 3.0. We recommend that you perform a rolling update to use the new binaries.
Support for ZooKeeper ends
Kafka 4.0 operates only in KRaft mode, where Kafka runs without ZooKeeper by utilizing the Raft protocol. Kafka 3.9 was the final version to support ZooKeeper. Consequently, Streams for Apache Kafka 2.9.x (LTS) is the last version compatible with Kafka clusters using ZooKeeper.
Migrate ZooKeeper-based Kafka clusters
To upgrade to Streams for Apache Kafka 3.0 or later, you must first migrate your Kafka clusters to KRaft mode.
KRaft mode limitations
For Kafka 3.8 and earlier, the controller quorums (which replace Zookeeper) were of fixed size (static). Dynamic controller quorums were introduced in Kafka 3.9.
Migration between Kafka’s static and dynamic controller quorums is not currently supported. For more information, see KAFKA-16538.
Streams for Apache Kafka 3.0 on RHEL supports static and dynamic controller quorums, with dynamic quorums recommended for new deployments.
3.2. Streams for Apache Kafka Copy linkLink copied to clipboard!
3.2.1. Full adoption of KRaft mode Copy linkLink copied to clipboard!
In line with the removal of ZooKeeper support in Apache Kafka 4.0, this release fully adopts KRaft mode (Kafka Raft metadata mode) for managing Kafka metadata. Streams for Apache Kafka no longer supports ZooKeeper-based deployments.
The move to KRaft simplifies deployment, streamlines management of Kafka clusters, and aligns with the Kafka 4.0 architecture.
Make sure that Kafka clusters are using KRaft before upgrading to Streams for Apache Kafka 3.0 or later.
For more information, see Migrating your Kafka cluster to KRaft mode.
3.2.2. MirrorMaker 1 removed Copy linkLink copied to clipboard!
Support for MirrorMaker 1 has been removed. From Streams for Apache Kafka 3.0, only MirrorMaker 2 is supported.
Make sure to migrate to MirrorMaker 2 before before upgrading to Streams for Apache Kafka 3.0 or later.
To replicate the behavior of MirrorMaker 1, configure MirrorMaker 2 with the IdentityReplicationPolicy property.
3.2.3. Tiered storage Copy linkLink copied to clipboard!
Tiered storage moves from early access and is now suitable for production environments.
Tiered storage introduces a flexible approach to managing Kafka data whereby log segments are moved to a separate storage system. Tiered storage requires an implementation of Kafka’s RemoteStorageManager interface to handle communication between Kafka and the remote storage system, which is enabled through configuration of the Kafka resource.
Streams for Apache Kafka includes plugin libraries from the open-source tiered-storage-for-apache-kafka project from Aiven for AWS S3 and file system storage by default in Kafka v4.0 and later. Using these plugins you can configure tiered storage using the following types of remote storage:
- AWS S3 remote storage
- File system remote storage
Streams for Apache Kafka supports a set of optional tuning properties for the tiered storage plugin. These properties can help optimize storage performance, throughput, and resource usage depending on your environment.
3.2.4. Metrics Reporter (Tech Preview) Copy linkLink copied to clipboard!
The Streams for Apache Kafka Metrics Reporter is introduced as a Tech Preview. The reporter exposes Kafka metrics directly over HTTP in a Prometheus-compatible format. It integrates with Kafka brokers, clients, Kafka Connect, MirrorMaker 2, and Kafka Streams applications.
3.3. Kafka Bridge Copy linkLink copied to clipboard!
3.3.1. Metrics Reporter (Tech Preview) Copy linkLink copied to clipboard!
The Tech Preview for the Metrics Reporter can also be enabled on the Kafka Bridge by setting the bridge.metrics option to strimziMetricsReporter.
3.3.2. Support for custom Prometheus JMX Exporter configuration Copy linkLink copied to clipboard!
Set bridge.metrics.exporter.config.path=/<path_to>/my-exporter-config.yml to use your custom configuration.