Skip to content

Latest commit

 

History

History
82 lines (60 loc) · 4.03 KB

File metadata and controls

82 lines (60 loc) · 4.03 KB

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, including Kafka 4.x clients. Modern clients auto-negotiate protocol versions or use an earlier protocol version accepted by Redpanda brokers.

Tip
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 an unsupported client, 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. KIP-890 addresses a class of transaction errors specific to Kafka’s replication model. Redpanda’s Raft-based replication is not susceptible to this issue. Kafka 4.x clients use per-transaction epoch bumping and fall back to the standard transaction protocol when connecting to Redpanda.

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