Client SDK Guide
AutoMQ is fully compatible with Apache Kafka and supports integration and message transmission using Apache Kafka client SDKs. This document introduces the recommended client SDKs for AutoMQ and provides usage notes.
Compatibility Notes
AutoMQ is fully compatible with Apache Kafka (versions 0.10 to 3.9). It is recommended to use the Apache Kafka client SDKs to access AutoMQ for sending and receiving messages. Following the protocol negotiation principles of Apache Kafka, client versions within the above range can be connected seamlessly.
It is advised for applications to upgrade to the latest SDK versions whenever possible to address any hidden defects in previous versions.
Recommended Client SDK List
The Apache Kafka community provides multiple SDK options for different programming languages. Users can refer to the community's documentation. Drawing from extensive production experience, the AutoMQ technical team recommends the following SDKs for accessing AutoMQ with different programming languages.
Development Language | Client SDK | Recommended Version |
---|---|---|
Java | Apache Kafka Java Client | >= 3.2.0 |
C/C++ | librdkafka | >= 2.8.0 |
Go | franz-go | >= 1.17.1 |
Python | kafka-python-ng | >= 2.2.3 |
NodeJS | KafkaJS | >= 2.2.4 |
If the SDK you are currently using is not among the recommended ones listed above, as long as it is compatible with the Apache Kafka protocol, you can continue to access AutoMQ. We suggest reviewing the known issues list below and adjusting parameters accordingly.
Client Parameter Tuning
When sending and receiving messages using the Apache Kafka SDK, it's crucial to adjust key parameters for Producers and Consumers, in addition to selecting the recommended SDK version, to achieve optimal performance.
It is recommended to refer to Kafka Client config tuning▸ for parameter inspection and adjustment.
Appendix: Other Known Issues
Sarama Go SDK
Known Defect | Defect Information | Solution |
---|---|---|
Async Producer has no memory usage limit during send retries |
|
|
Kafka-Go SDK
Known Defect | Defect Information | Solution |
---|---|---|
Consumers Unable to Identify Group Coordinator Changes |
|
|
Kafka JS SDK
Known Defects | Defect Information | Resolution Methods |
---|---|---|
Inaccurate Consumer Configuration of heartbeatInterval |
|
|