在http请求中从kafka获取最新消息

时间:2017-08-23 14:06:03

标签: node.js apache-kafka

我正在使用kafka-node客户端来生成一个restify api,当被调用时会返回最新的消息作为响应。我使用下面的代码取得了一些成功。

var consumerOptions = {
    groupId: 'ExampleTestGroup',
    fetchMaxWaitMs:500,
    fromOffset: 'latest' // equivalent of auto.offset.reset valid values are 'none', 'latest', 'earliest'
};
consumerStream=new ConsumerStream(client,[{topic:'topic1'},{topic:'topic2'}],{fromOffset:'lates',fecthMaxWaitMs:500});
consumerStream.on('error',(err)=>{
    console.log('err',err);
});
consumerStream.pipe(Stringify()).pipe(res);
setTimeout(()=>{
    console.log('100 ms are up');
    res.end();
    next();
},1000);

如果主题上没有足够的消息并且返回了响应,我必须使用超时。这工作正常,但仅在第一个请求时,因为我认为,当新请求到来时,它会提交偏移,并且由于这个原因它不会获取任何消息。

0 个答案:

没有答案