Golang Go语言中 confluent-kafka-go 和 sarama 选哪个库好用于消费 Kafka
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
不了解,在学习 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
则是一个不错的选择。在实际应用中,可以根据具体的性能需求、功能需求和开发便利性来做出决策。