Kafka Compatibility

Redpanda is compatible with Apache Kafka® versions 0.11 and later, with specific exceptions noted on this page.

Use this reference to:

  • Identify which Kafka clients are validated with Redpanda

  • Identify unsupported Kafka features when integrating with Redpanda

Kafka client compatibility

Clients developed for Kafka versions 0.11 or later are compatible with Redpanda. The Apache Kafka Java client at version 4.x is validated against Redpanda using the ducktape and chaos test suites; other clients in the table here remain compatible with the Kafka protocol versions they have always supported. 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

franz-go

Python

kafka-python-ng

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 or confluent-python).

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

Unsupported Kafka features

Redpanda does not support the following Kafka features:

  • Multiple SCRAM mechanisms simultaneously for SASL users. 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.

  • Quotas per user for bandwidth and API request rates. However, quotas per client and per client group using AlterClientQuotas and DescribeClientQuotas APIs are supported.

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