Kafka 生产者不通过分区分发消息

Kafka producer not distributing messages over partitions

我正在创建 kafka 主题如下:

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)

        }

我发送了超过 200K 条消息但它们都落在分区 0 中的问题。

在这种情况下可能出了什么问题?

正在将具有相同密钥的邮件添加到同一分区。如果不是这种情况,请尝试包含 Partition: kafka.PartitionAny:

for _, message := range bigslice {

    topic := "test6"
        p.Produce(&kafka.Message{
            TopicPartition: kafka.TopicPartition{Topic: &topic, Partition: kafka.PartitionAny},
            Value: []byte(message),
        }, nil)

    }