【问题标题】:Consumer stops if stats is enabled - node-rdkafka如果启用了统计信息,消费者将停止 - node-rdkafka
【发布时间】:2020-06-25 11:10:30
【问题描述】:

我正在使用node-rdkafka 来使用来自 kafka 的消息。 如果设置了statistics.interval.ms,则消费者进程退出。

代码如下:

const { KafkaConsumer } = require('node-rdkafka')
const consumer = new KafkaConsumer(
    {
        'group.id': 'kafka',
        'metadata.broker.list': 'localhost:9092',
        'statistics.interval.ms': 5000,
    },
    {},
)
consumer
    .on('ready', () => {
        consumer.subscribe(['test1'])
        setInterval(() => {
            consumer.consume(1)
        }, 1000)
    })
    .on('data', (data) => {
        console.log('Message found!  Contents below.')
        console.log(data.value.toString())
    })
    .on('error', (e) => console.log(e))

此代码仅使用一条消息然后退出。我也检查了process.on 事件,但没有引发错误。如果我删除 'statistics.interval.ms': 5000 那么一切正常

【问题讨论】:

  • 尝试将日志设置为调试运行它,看看是否有异常。

标签: node.js apache-kafka librdkafka


【解决方案1】:

这是windows 相关问题。 Linux 工作正常。

【讨论】:

    【解决方案2】:
    consumer
        .on('ready', () => {
            consumer.subscribe(['test1'])
                consumer.consume()
        })
        .on('data', (data) => {
            console.log('Message found!  Contents below.')
            console.log(data.value.toString())
        })
        .on('error', (e) => console.log(e))
    

    试试这个,让我知道它是否适合你。

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      • 1970-01-01
      相关资源
      最近更新 更多