Release Notes
Broker Release Notes
Announcement
sarama.Metadata.RefreshFrequency is set to 10 minutes. Therefore, it takes Sarama 20 minutes to detect partition updates in the worst-case scenario. To accelerate partition update detection, decrease this configuration value. For example, setting it to 10 seconds ensures detection within 20 seconds.Golang Client | Advantage | Limitation |
Sarama | Highly active in the community. Sarama has a large user base, and questions raised in the community receive prompt responses and fixes. High performance. Sarama is written in native Golang and provides robust support for asynchronous operations and high concurrency. | Moderate stability. Sarama may encounter unknown errors after scaling out and rebalancing partitions. |
Confluent-Kafka-go (recommended) | High stability. Since the client is essentially a wrapper around the librdkafka C++ library, and the librdkafka library has been running in multiple languages for years, it delivers sufficient reliability. High performance. Since the underlying implementation uses C++, it requires fewer resources and delivers a fast computational speed. | Increased compilation complexity. Due to the import of C++ libraries, the Golang compiler requires additional compilation configurations, which increases compilation dependencies and compilation complexity. Additionally, due to differences in underlying implementations of C++ libraries across compiling environments, introducing the librdkafka library may impact cross-compilation for Golang projects. |
kafka-go | Complete APIs. kafka-go provides not only high-level APIs but also exposes underlying ones, enabling users to configure and use kafka clients with greater flexibility. Easy to use. kafka-go requires minimal code for basic production and consumption operations, with extensive default configurations provided. | Compared with the two clients above, it exhibits inferior performance and may not meet large-scale concurrent demands. |
피드백