使用goalng “github.com/Shopify/sarama”这个库
我现在有两个消费者,两个topic,kafka分区设定是50个,但是在实际运行过程中只有一个消费者在消费,关闭当前能消费的消费者,另外一个也可以消费,但是同时运行是就不行
看网上的文档说的是因为分区不够的原因,但是我现在设定了50个分区,只有两个消费者
代码1
producerConfig := sarama.NewConfig()
producerConfig.Producer.Partitioner = sarama.NewHashPartitioner
producerConfig.Producer.Return.Successes = true
producerConfig.Producer.Timeout = 5 * time.Second
producer, err = sarama.NewSyncProducer([broker实例地址], producerConfig)
kafka_msg := &sarama.ProducerMessage{
Topic:topic,
Key:sarama.StringEncoder(key),
Value: sarama.StringEncoder(value),
}
partition, offset, err := producer.SendMessage(kafka_msg)
这样,投递成功之后返回的分区id永远是0,我怀疑是不是因为我分区设置值没有生效,
,但是因为是第一次用kafka,所以不确定,
于是使用下一个