上周分享了如何使用go来对kafka进行生产和消费,这周接着对kafka消息队列的一些特性来进行使用。
上次讲到kafka有个consumer group的概念,而我们使用的sarama并没有支持,所以这次引入sarama-cluster项目 : go get “github.com/bsm/sarama-cluster”
producer的代码不变,参考上一篇文章,consumer的代码改为如下:
import KafkaCluster "github.com/bsm/sarama-cluster"
func KafkaConsumerCluster(consumerId string) {
brokers := []string{"182.61.9.153:6667","182.61.9.154:6667","182.61.9.155:6667"}
topics := []string{"0612_test"}
config := KafkaCluster.NewConfig()
config.Consumer.Return.Errors = true
config.Consumer.Offsets.CommitInterval=1*time.Second
config.Consumer.Offsets.Initial=sarama.OffsetNewest
config.Group.Return.Notifications = true
//第二个参数是groupId
consumer, err := KafkaCluster.NewConsumer(brokers, "consumer-group1", topics, con
golang结合Kafka消息队列实践(二)
最新推荐文章于 2023-07-16 15:47:04 发布