在kafka上的一个消费者中消费多个主题

时间:2019-06-26 12:27:02

标签: javascript node.js apache-kafka kafka-consumer-api

kafka是否可以在具有多个主题的单个消费者中使用?

这是我的消费者代码,可以与单个主题配合使用

let consumer = new Consumer(
        client,
        [{ topic: '1234', offset: 0, partition: 0 }],
        {
            autoCommit: true,
            fetchMaxWaitMs: 1000,
            fetchMaxBytes: 1024 * 1024,
            encoding: 'utf8',
            fromOffset: false
        }
    );
    consumer.on('message', async function (message: any) {
        console.log(
            'kafka-> ',
            message.value
        );
    })

1 个答案:

答案 0 :(得分:0)

这显然是一个列表,您应该可以在使用者中添加多个主题。

https://www.npmjs.com/package/kafka-node#consumer说您可以执行以下操作。 (明智的做法是不分配分区,让动物园管理员处理)

var kafka = require('kafka-node'),
Consumer = kafka.Consumer,
client = new kafka.KafkaClient(),
consumer = new Consumer(
    client,
    [
        { topic: 't', partition: 0 }, { topic: 't1', partition: 1 }
    ],
    {
        autoCommit: false
    }
);