簡體   English   中英

如何在Kafka Node.js中延遲消費消息?

[英]How to delay consuming message in Kafka nodejs?

我正在使用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);
    });
});

我想確保在繼續使用下一條消息之前必須成功創建索引,因為我不想丟失任何消息。

嘗試使用consumer.pause()/resume()
pause()暫停使用者
resume()恢復使用者

您可以暫停您的使用者,以便它不會訂閱和獲取新消息。 一旦收到elasticClient的回復,您就可以恢復您的kafka用戶。

kafkaConsumer.pause();
kafkaConsumer.resume();

根據您的設置使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM