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 migh also compatible with KSN still compatible, particularly those based on librdkafka.

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.

  • Limited support for Kafka Admin APIs:

    Admin APIKSNKoP
    abortTransaction(AbortTransactionSpec spec)--
    alterClientQuotas--
    alterConfigs--
    alterConsumerGroupOffsets--
    alterPartitionReassignments--
    alterReplicaLogDirs--
    alterUserScramCredentials--
    createAcls--
    createDelegationToken--
    createPartitionsYESYES
    createTopicsYESYES
    deleteAcls--
    deleteConsumerGroupOffsetsYES-
    deleteConsumerGroupsYESYES
    deleteRecordsYESYES
    deleteTopicsYESYES
    describeAcls--
    describeClientQuotas--
    describeClusterYESYES
    describeConfigs--
    describeConsumerGroupsYESYES
    describeDelegationToken--
    describeFeatures--
    describeLogDirs--
    describeMetadataQuorum--
    describeProducers--
    describeReplicaLogDirs--
    describeTopicsYESYES
    describeTransactions--
    describeUserScramCredentials--
    electLeaders--
    expireDelegationToken--
    fenceProducers--
    incrementalAlterConfigs--
    listConsumerGroupOffsetsYESYES
    listConsumerGroupsYESYES
    listOffsetsYESYES
    listPartitionReassignments--
    listTopicsYESYES
    listTransactions--
    metricsYESYES
    removeMembersFromConsumerGroup--
    renewDelegationToken--
    unregisterBroker--
    updateFeatures--
Previous
QuickStart