Kafka Compatibility
Redpanda is compatible with Apache Kafka version 0.11 through 3.1. Exceptions are described below.
Kafka client compatibility
Clients developed for Kafka versions 0.11 or later work with Redpanda. Modern clients auto-negotiate protocol versions or use an earlier protocol version accepted by Redpanda brokers.
The following clients have been validated with Redpanda.
Language | Client |
---|---|
Java | Apache Kafka Java Client |
C/C++ | librdkafka |
Go | franz-go |
Python | kafka-python |
JS | KafkaJS |
Rust | build.rs |
tip
- Use the latest supported version.
- Other clients, particularly ones based on librdkafka, work with Redpanda, but they have not been validated.
Unsupported Kafka features
Redpanda does not support the following Apache Kafka capabilities:
- Explicit partition assignments and altering partition assignments (with Kafka API)
- Transactions (available in Technical Preview, but not supported for production use)
- Managing SASL users with Kafka APIs: DescribeUserSCRAMCredentialsRequest and AlterUserSCRAMCredentialsRequest APIs
- Pandaproxy. Unlike other REST Proxy implementations in the Kafka Ecosystem, the Redpanda Pandaproxy does not support topic and ACLs CRUD through the HTTP proxy. Pandaproxy is designed for clients producing and consuming data, and that do not perform administrative functions.
- Client quotas for bandwidth and request rate
- Follower fetching
- Record deletion
If you have any issues while working with a Kafka tool, you can file an issue.