我有以下使用kafka-node模块的代码:
var kafka = require('kafka-node')
var Consumer = kafka.Consumer
var client = new kafka.Client("example.com:9092/")
var consumer = new Consumer(
client,
[
{ topic: 'some_event', partition: 0, offset: 0}
],
{fromOffset: true}
);
consumer.on('message', function (message) {
console.log("received message", message);
});
我从官方文档中获取了大部分帮助,但这似乎不起作用。
当我尝试使用node-rdkafka(一个不同的模块来使用事件)时,它运行良好..这是代码:
var Kafka = require('node-rdkafka');
var consumer = new Kafka.KafkaConsumer({
'group.id': 'some_event',
'metadata.broker.list': 'example.com:9092',
}, {});
consumer.connect();
consumer
.on('ready', function() {
consumer.subscribe(['build_status_events']);
consumer.consume();
})
.on('data', function(data) {
console.log(data.value.toString());
});
但由于我的生产环境限制,我无法使用node-rdkafka。
任何人都可以帮助我找出我在第一个程序中做错的地方。