回收kafka时,需要重新创建/恢复Sarama Producer

时间:2019-04-07 21:31:23

标签: go apache-kafka sarama

我使用以下代码使用sarama创建了Kafka Producer。

var producer sarama.AsyncProducer // ...这是全局声明

config := sarama.NewConfig()
//config.Producer.Return.Successes = false
//config.Producer.Partitioner = sarama.NewRandomPartitioner
//config.Producer.RequiredAcks = sarama.WaitForLocal       
config.Producer.Compression = sarama.CompressionSnappy   
config.Producer.Flush.Frequency = 100 * time.Millisecond 
producer, errsar = sarama.NewAsyncProducer([]string{"x.x.x.x:9091"}, config)
if errsar != nil {
    panic(errsar)
}

一切正常,但是当我重新启动我的卡夫卡..时,我收到错误消息“领导层选举中的分区...”。当我重新启动应用程序时,这实际上是在重新启动生产者,一切正常。

萨拉玛(Sarama)中是否有一个选项,当我重新启动kafka并开始发送消息时,它不会给我分配错误(汇合不存在此问题。。它工作正常。但是sarama为我们提供了更好的性能)

感谢您的帮助。

0 个答案:

没有答案