luc*_*ucy 5 node.js apache-kafka
我正在使用 kafka-node link api 来创建 kafka 主题。我没有找到如何使用分区创建 kafka 主题。
var kafka = require('kafka-node'),
Producer = kafka.Producer,
client = new kafka.Client(),
producer = new Producer(client);
// Create topics sync
producer.createTopics(['t','t1'], false, function (err, data) {
console.log(data);
});
// Create topics async
producer.createTopics(['t'], true, function (err, data) {});
producer.createTopics(['t'], function (err, data) {});// Simply omit 2nd arg
Run Code Online (Sandbox Code Playgroud)
如何在 nodejs 中创建带有分区的 kafka 主题。
正如文档所述,此方法仅在auto.create.topics.enable设置为时才有效true:
该方法用于在Kafka服务器上创建主题。仅当 Kafka 服务器上的 auto.create.topics.enable 设置为 true 时,它才有效。我们的客户端只需向服务器发送元数据请求,服务器将自动创建主题。当 async 设置为 false 时,该方法直到所有主题都创建完成后才返回,否则立即返回。
这意味着对未知主题的任何操作都将导致其创建为num.partitions参数配置的默认分区数。
我不确定,但也许其中一种node-rdkafka实现可以允许您调用相应的librdkafka方法来创建主题?