Kafka Compatibility

Apache Kafka® clients developed for Kafka protocol version 0.11 or later work with Redpanda with minimal or no changes to your application. This page identifies which clients are validated and calls out any exceptions.

Use this reference to:

  • Identify which Kafka clients are validated with Redpanda

  • Identify Kafka compatibility exceptions when integrating with Redpanda

Kafka client compatibility

Redpanda validates the Apache Kafka Java client and a set of widely used non-Java clients, at their current versions that support Kafka 4.x, using the ducktape and chaos test suites. Validation confirms connectivity and correctness across core Kafka APIs, such as produce, consume, and transaction operations, at current client versions. Modern clients auto-negotiate protocol versions or use an earlier protocol version accepted by Redpanda brokers.

Always use the latest supported version of a Kafka client.

The following clients have been validated with Redpanda.

Language Client

Java

Apache Kafka Java Client

C/C++

librdkafka

Go

Python

Rust

kafka-rust

Node.js

Clients that have not been validated by Redpanda Data, but use the Kafka protocol, remain compatible with Redpanda subject to the limitations in the next section (particularly those based on librdkafka, such as confluent-kafka-dotnet).

If you find a client that does not work with Redpanda, reach out in the Redpanda community Slack.

Compatibility exceptions

Redpanda is compatible with the Kafka protocol, with the following exceptions:

  • Multiple SCRAM mechanisms simultaneously for SASL users are not supported. For example, a user cannot have both a SCRAM-SHA-256 and a SCRAM-SHA-512 credential. Redpanda supports only one SASL/SCRAM mechanism per user: either SCRAM-SHA-256 or SCRAM-SHA-512.

    For details, see Configure SASL authentication.

  • HTTP Proxy (pandaproxy): Unlike other REST proxy implementations in the Kafka ecosystem, Redpanda HTTP Proxy does not support topic and ACLs CRUD through the HTTP Proxy. HTTP Proxy is designed for clients producing and consuming data that do not perform administrative functions.

  • The Kafka request rate quota (request_percentage), which limits the share of broker request-handling capacity a client can consume, is not supported. Redpanda supports byte-rate (producer_byte_rate, consumer_byte_rate) and topic-mutation (controller_mutation_rate) quotas, which you can apply per user, per client, or per client group.

  • KIP-890 (Transactions Server-Side Defense): Redpanda does not implement the server-side portion of KIP-890, which addresses transaction errors specific to Kafka’s replication model. Redpanda’s implementation of transactions is not susceptible to this class of errors. When connecting to Redpanda, Kafka 4.x clients detect that Transactions V2 is unsupported and fall back to the original transaction protocol (per-transaction epoch bumping is part of V2 and does not apply).

If you find an unsupported feature or incompatibility, file an issue with the Redpanda team.