gpt4 book ai didi

node.js - 我应该在 offsetOutOfRange 上停止我的 node-kafka-consumer 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:36:41 24 4
gpt4 key购买 nike

我写了一个node-kafka消费者。在极少数情况下,我会使用一个组 ID 启动 kafka 客户端,该组 ID 在某些偏移量可用但不再可用时使用,从而导致调用“offsetOutOfRange”事件。在这种情况下,建议的行为是什么?记录错误并退出?有办法恢复吗?我总是想从最后提交的偏移量(如果存在且可用)运行zookeeper。

client = new kafka.Client(ZOOKEEPER_URLS),

consumer = new Consumer(client, [], {
groupId: GROUP_ID,
fromOffset: true
});

consumer.on('offsetOutOfRange', function (topic) {
applicationLogger.error('Kafka consumer is trying to read from offset which is out of range', topic);
process.exit(1);
});

最佳答案

我想知道为什么这没有在 node-kafka-consumer 中实现,但在其他客户端中处理偏移超出范围错误的默认行为是发出 OffsetRequest获取最早或最新的可用偏移量,然后将消费者偏移量设置为新值并继续获取。

这是一种完全可恢复的情况,您只需指定要恢复到的偏移量 - 最早或最晚可用。

关于node.js - 我应该在 offsetOutOfRange 上停止我的 node-kafka-consumer 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38693546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com