Отключить автоматическое создание темы при вызове GetMetadata - PullRequest
0 голосов
/ 20 января 2019

Я использую конфлюэнт Голанг для моего клиента Kafka. Я использую AdminClient для создания / удаления / получения тем в кластере kafka. Вот мой код для инициализации AdminClient

adminClient, err := kafka.NewAdminClient(&kafka.ConfigMap{
    "bootstrap.servers": 127.0.0.1:9092,
})

После этого я использую этот класс для создания и получения всех тем в кластере kafka. Вот код для создания темы:

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

results, err := adminClient.CreateTopics(
    ctx,
    []kafka.TopicSpecification{{
        Topic:             topic,
        NumPartitions:     numPartitions,
        ReplicationFactor: replicationFactor}},
    kafka.SetAdminOperationTimeout(TimeOut),
)

После этого я снова получаю информацию о теме:

result, err := adminClient.GetMetadata(&topic, false, 1000)

Проблема в том, что если я получу тему, которой раньше не было, kafka автоматически создаст эту тему. Это поведение, которое я не хочу. Подскажите пожалуйста как это исправить.

1 Ответ

0 голосов
/ 20 января 2019

Чтобы отключить автоматическое создание тем, вам необходимо обновить конфигурации вашего брокера, указав auto.create.topics.enable как false.Взгляните на документы или на эту страницу

...