Kafka Compatibility

Redpanda is compatible with Apache Kafka version 0.11 through 3.1. Exceptions are described on this page.

Kafka client compatibility

Clients developed for Kafka versions 0.11 or later are compatible with Redpanda. Modern clients auto-negotiate protocol versions or use an earlier protocol version accepted by Redpanda brokers.

Redpanda Data recommends always using the latest supported version of a 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

Node.js

KafkaJS

Rust

kafka-rust

Clients that have not been validated by Redpanda Data are still compatible, particularly those based on librdkafka.

If you find a client that is not supported, reach out to the Redpanda team in the community Slack.

Unsupported Kafka features

Redpanda does not currently support the following Apache Kafka features:

  • Managing SASL users with Kafka APIs: DescribeUserSCRAMCredentialsRequest and AlterUserSCRAMCredentialsRequest APIs.

  • 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 (though quotas per client and per client group (per CPU core) are supported).

  • Follower fetching.

  • Record deletion.

If you have any issues while working with a Kafka tool, you can file an issue.

Non-default property values

Redpanda sets default values for the following properties that are different than Kafka’s default values for corresponding properties:

Property Redpanda default value Kafka default value

auto_create_topics_enabled

false

true

log_segment_ms

14 days

7 days

log_segment_size

128 MiB

1 GiB