Go Kafka生产者未在分区上分发消息
我正在创建卡夫卡主题,如下所示:Go Kafka生产者未在分区上分发消息,go,apache-kafka,kafka-producer-api,confluent-platform,Go,Apache Kafka,Kafka Producer Api,Confluent Platform,我正在创建卡夫卡主题,如下所示: kafka-topics --create --zookeeper xx.xxx.xx:2181 --replication-factor 2 --partitions 200 --topic test6 --config retention.ms=900000 然后我使用以下库与golang生成消息: "gopkg.in/confluentinc/confluent-kafka-go.v1/kafka" 生产者配置如下所示: for _,
kafka-topics --create --zookeeper xx.xxx.xx:2181 --replication-factor 2 --partitions 200 --topic test6 --config retention.ms=900000
然后我使用以下库与golang生成消息:
"gopkg.in/confluentinc/confluent-kafka-go.v1/kafka"
生产者配置如下所示:
for _, message := range bigslice {
topic := "test6"
p.Produce(&kafka.Message{
TopicPartition: kafka.TopicPartition{Topic: &topic},
Value: []byte(message),
}, nil)
}
问题是我已经发送了超过200000条消息,但它们都位于分区0中
在这种情况下会出现什么问题?将具有相同密钥的消息添加到同一分区。如果不是这样,则尝试包括
分区:kafka.PartitionAny
:
for _, message := range bigslice {
topic := "test6"
p.Produce(&kafka.Message{
TopicPartition: kafka.TopicPartition{Topic: &topic, Partition: kafka.PartitionAny},
Value: []byte(message),
}, nil)
}