【发布时间】:2017-06-10 00:14:57
【问题描述】:
所以我刚刚开始探索kafka(使用node js)并且我正在使用kafka-node模块与kafka进行交互。
如何实现点对点工作流?即一个或多个消费者可以消费队列中的消息,但特定消息最多只能被一个消费者消费。一旦消费者读取队列中的消息,它应该从该队列中消失。
我刚刚编写了一些测试消费者代码(见下文)。当我运行此消费者代码的多个实例并将新消息推送到主题时,所有消费者实例都会拉出消息(并显示在控制台上)。我希望只有 1 个消费者拉出消息并进行处理。
var kafka = require("kafka-node");
var client = new kafka.Client();
var Consumer = kafka.Consumer;
var consumer = new Consumer(
client,
[
{ topic: 'testtopic**strong text**', partition: 0 }
],
{
autoCommit: true,
}
)
consumer.on('message', function (message) {
console.log(message);
});
任何帮助将不胜感激!
谢谢
【问题讨论】:
标签: node.js apache-kafka kafka-consumer-api