Golang Go语言中 confluent-kafka-go 和 sarama 选哪个库好用于消费 Kafka

发布于 1周前 作者 vueper 来自 Go语言

Golang Go语言中 confluent-kafka-go 和 sarama 选哪个库好用于消费 Kafka

https://github.com/confluentinc/confluent-kafka-go kafka 的核心开发人员弄的公司负责维护,包了一个 C 库,装环境成本稍微高点

https://github.com/Shopify/sarama 纯 go 的,但是网上很多人说它坑

官方推荐的其他几个我看 star、用户数都太少了,不敢用

有经验的同学分享一下?我每秒大概消费 1.5w 个消息


更多关于Golang Go语言中 confluent-kafka-go 和 sarama 选哪个库好用于消费 Kafka的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

7 回复

不了解,在学习 go,关注

更多关于Golang Go语言中 confluent-kafka-go 和 sarama 选哪个库好用于消费 Kafka的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


项目中大量使用 sarama

跟每秒多少消息关系不大,跟功能关系比较大。

当然是官方的比较好(如果尽力在维护的话),现在 kafka 变动也很快,第三方不一定跟的上

网上有人说 sarama 在消费压力大的时候有问题

也不是官方的,是核心开发人员跳槽后搞的

消息量很大用 confluent-kafka-go, sarama 在消息量很大的时候好像有点跟不上,当然一般使用是没什么问题的

在Golang中,选择confluent-kafka-go还是sarama库来消费Kafka,取决于具体的使用场景和需求。

confluent-kafka-go是Confluent官方提供的Kafka客户端库,基于C语言的librdkafka库开发,因此在性能上通常表现更优,尤其在吞吐量和延迟方面。这使得confluent-kafka-go非常适合高吞吐量、低延迟的生产环境。此外,它还提供了丰富的配置选项和高级功能,如SSL加密、SASL认证等。

sarama则是一个纯Go语言实现的Kafka客户端库,提供了基本的Kafka生产和消费功能。它相对轻量级,易于集成和使用。对于大多数普通的Kafka消费任务,sarama已经足够满足需求。此外,sarama还支持消费者组,允许多个消费者并行处理相同主题的消息。

综上所述,如果追求更高的性能和丰富的功能,confluent-kafka-go可能是更好的选择。而如果希望使用纯Go语言实现的库,并且需求相对简单,sarama则是一个不错的选择。在实际应用中,可以根据具体的性能需求、功能需求和开发便利性来做出决策。

回到顶部