Chapters

Kafka SDK List

Learn how to choose the right client libraries for Kafka and explore the Kafka Client Libraries SDK list


Apache Kafka only officially provides an SDK for the Java language.

For the other languages, these are community based implementations. A list of recommended SDK has been compiled below to save you a little bit of time.

Feedback?

Something looks wrong? Send us an email at feedback [at] conduktor [dot] io


How to choose a Kafka client library?

Usually most of the libraries will have support for the producer and consumer API. Decisions points come around the following:

  • Pure implementation or librdkafka based: librdkafka is a C/C++ library that implements the Kafka API and many libraries are built as a wrapper around it. This may be acceptable to you, or not. The main issues can arise when you build and deploy your software.

  • Does it support your security mechanism? Most libraries will for sure support PLAINTEXT, but ensure it supports the security mechanism you need for your Kafka deployment: SSL and SASL (SASL/SCRAM, SASL/OAUTHBEARER, SASL/GSSAPI, SASL/PLAIN, or even external SASL mechanisms such as SASL IAM for MSK)

  • Does it support the Confluent Schema Registry? The Confluent Schema Registry is a common implementation in a Kafka deployment, and making sure your libraries have the proper serializers and deserializers for it is very important. Usually, Confluent libraries do a good job at integrating with the Confluent Schema Registry. If it supports the Schema Registry, does it support Avro, JSON, or Protobuf? (based on your decisions)

  • Does it support the performance you need? This is usually the case, but make sure to do performance testing before going with a full blown implementation. This may save you some time.


Kafka Client Libraries SDK List

Here you can find a list of libraries that has been compiled to ensure you have some pointers on when to start with your implementation:

Was this content helpful?
3
0
PreviousKafka Programming Tutorials
NextJava Kafka Programming