我正在使用Confluent Kafka DotNet lib创建并产生主题:
producer.ProduceAsync(topic, key, message);
不存在该主题时,将使用一个分区自动创建该主题。
但是出于测试目的,我希望能够以编程方式创建具有 N 个分区的主题。
我在这里找不到任何示例(分支0.11.5),如何创建具有多个分区的主题? https://github.com/confluentinc/confluent-kafka-dotnet
答案 0 :(得分:0)
因为我已经在使用Docker,所以我发现最简单的方法是在docker-compose中创建一个带有N个分区的测试主题:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "PartitionsTest:3:1"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
links:
- zookeeper
哪个创建带有3个分区的主题“ PartitionsTest”。
警告:您的测试可能会在主题有时间自行创建之前执行。
一旦Confluent Kafka库的发行版中提供了Admin功能,我可能会对其进行更新以使用该方法。