Производитель Kafka не распространяет сообщения по разделам - PullRequest
0 голосов
/ 28 июня 2019

Я создаю тему кафки следующим образом:

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)

        }

проблема в том, что я отправил более 200К сообщений, но все они попадают в раздел 0.

что может быть не так в этой ситуации?

1 Ответ

2 голосов
/ 28 июня 2019

Сообщения с одинаковым ключом добавляются в один и тот же раздел. Если это не так, попробуйте включить 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)

    }
...