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