用node-rdkafka重新连接到Kafka是缓慢和不一致的

我有kafka和zookeeper在一些当地的docker集装箱运行。

我有一个node.js代码库,它使用node-rdkafka作为消费者连接到kafka。 我们将这个代码库称为“消费者”

消费者使用此处显示的代码连接到kafka: https : //github.com/Blizzard/node-rdkafka/blob/master/examples/consumer-flow.md

当试图连接到一个现有的Kafka实例时,我得到这个输出:

consumer ready.{"name":"rdkafka#consumer-1"} 

但是,接收和处理消息的代码在开始触发之前从不会触发,或者需要几分钟(有时显然是5到10分钟)。

为了确保消息正在生成,我使用kafka附带的脚本kafka-console-consumer.sh来观察消息stream。 果然,数据即将来临。

看起来连接有时会失败,有时需要很长时间才能连接。

这是这段时间的卡夫卡日志:

 kafka_1 | [2017-04-27 20:55:37,963] INFO [Group Metadata Manager on Broker 1001]: Removed 0 expired offsets in 1 milliseconds. (kafka.coordinator.GroupMetadataManager) kafka_1 | [2017-04-27 20:55:48,576] WARN Attempting to send response via channel for which there is no open connection, connection id 1 (kafka.network.Processor) kafka_1 | [2017-04-27 20:55:53,185] INFO [GroupCoordinator 1001]: Preparing to restabilize group video-caption-consumer with old generation 24 (kafka.coordinator.GroupCoordinator) kafka_1 | [2017-04-27 20:56:18,577] INFO [GroupCoordinator 1001]: Stabilized group video-caption-consumer generation 25 (kafka.coordinator.GroupCoordinator) kafka_1 | [2017-04-27 20:56:18,626] INFO [GroupCoordinator 1001]: Assignment received from leader for group video-caption-consumer for generation 25 (kafka.coordinator.GroupCoordinator) kafka_1 | [2017-04-27 20:58:24,951] INFO [GroupCoordinator 1001]: Preparing to restabilize group video-caption-consumer with old generation 25 (kafka.coordinator.GroupCoordinator) kafka_1 | [2017-04-27 20:58:51,643] INFO [GroupCoordinator 1001]: Stabilized group video-caption-consumer generation 26 (kafka.coordinator.GroupCoordinator) kafka_1 | [2017-04-27 20:58:51,648] INFO [GroupCoordinator 1001]: Assignment received from leader for group video-caption-consumer for generation 26 (kafka.coordinator.GroupCoordinator) kafka_1 | [2017-04-27 21:01:14,231] INFO [GroupCoordinator 1001]: Preparing to restabilize group video-caption-consumer with old generation 26 (kafka.coordinator.GroupCoordinator) kafka_1 | [2017-04-27 21:01:16,414] INFO [GroupCoordinator 1001]: Stabilized group video-caption-consumer generation 27 (kafka.coordinator.GroupCoordinator) kafka_1 | [2017-04-27 21:01:16,419] INFO [GroupCoordinator 1001]: Assignment received from leader for group video-caption-consumer for generation 27 (kafka.coordinator.GroupCoordinator) 

它只是无限地重复这种模式。

想法?

对于它的价值,我也使用了kakfa-node模块。 有类似的问题,但我不能确定,如果相同的确切问题。