Kafka Compatibility

Kafka client compatibility

Kafka on StreamNative (KSN) is compatible with Apache Kafka version from 0.9 to 3.4. Modern clients will automatically negotiate protocol versions or utilize an earlier protocol version that KSN brokers accept.

Note

We recommend always using the latest supported Kafka client version.

LanguageClientStreamNative Tested
JavaApache Kafka Java Client0.9.0.0, 0.10.2.2, 1.1.1, 2.4.1, 2.5.1, 2.6.3, 2.7.2, 2.8.2, 3.0.2, 3.1.2, 3.2.3, 3.3.2, 3.4.0
C/C++librdkafka1.9.2, 2.0.2, 2.1.1
Goconfluent-kafka-goN/A
Pythonconfluent-kafka-python1.9.2, 2.0.2, 2.1.1
Node.jsKafkaJSN/A

Note that the Kafka clients versions that have not been validated by StreamNative might also be compatible with KSN , particularly those based on librdkafka.

Supported Admin APIs (in Java):

  • abortTransaction
  • createPartitions
  • createTopics
  • deleteConsumerGroupOffsets
  • deleteConsumerGroups
  • deleteRecords
  • deleteTopics
  • describeCluster
  • describeConsumerGroups
  • describeProducers
  • describeTopics
  • describeTransactions
  • listConsumerGroupOffsets
  • listConsumerGroups
  • listOffsets
  • listTopics
  • listTransactions
  • metrics

Unsupported Kafka features

KSN does not currently support the following Apache Kafka features:

  • Managing SASL users with Kafka Admin APIs: Use Pulsar Admin instead.
  • Limited support for Topic Configuration: Since the KSN is based on Pulsar, the storage layer differs from Kafka, so the topic config only supports cleanup.policy to set the compact or delete retention policy.
Previous
QuickStart