我正在为我的Kafka客户使用confluent golang。我使用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将自动创建该主题。这是我不想要的行为。请告诉我如何解决此问题。