我使用NodeJS来消费来自Kafka的消息,收到消息后,我将把它带到Elasticsearch中创建一个索引。这是我的一段代码:
kafkaConsumer.on('message', function (message) {
elasticClient.index({
index: 'test',
type: 'sample',
body: message
}, function (error, response) {
if (error) {
// Stop consuming message here
console.log(error);
}
console.log(response);
});
});
我想确保在继续使用下一条消息之前必须成功创建索引,因为我不希望丢失任何消息。
答案 0 :(得分:0)
试一试consumer.pause()/resume()
暂停()暂停消费者
resume()恢复消费者
答案 1 :(得分:0)
您可以暂停您的消费者,以便它不会订阅和获取新消息。一旦您从elasticClient获得响应,您就可以恢复您的kafka消费者。
kafkaConsumer.pause();
kafkaConsumer.resume();
根据您的设置使用它。