kafka go库
kafka go客户端官方目前没有提供,但在github有2个非常流行的库
星星较多,网上案例也多 https://github.com/Shopify/sarama
这里使用sarama,因为星星多,案例多,方便快速上手
注意
如果kafka版本在2.2以下,需要在go.mod里面将sarama版本改为github.com/Shopify/sarama v1.24.1
这是因为sarama只提供最新2个版本+2个月的兼容保证,所以使用低版本kafka是需要避坑
使用非集群集群生产者时,需要自行去创建topic,如果使用集群生产者,集群会自动创建
例子
运行结果如下
该demo流程如下
- 引入单机sarama库和集群sarama库
- 定义连接变量
- 使用单sarama库实例化一个生产者
- 使用集群sarama库实例化一个消费者
- 循环100次发送100条消息
- 使用sarama自带的生产消息构造器设置消息内容
- 使用for让进程一直监听来自kafka的消息