【发布时间】:2020-04-27 12:30:07
【问题描述】:
我正在使用 kafka-node npm 模块,0.2.27 版本。
我发现 producer.on('ready',fn(){}) 永远不会被调用。
当我检查生产者对象时,观察到如下
{ ready: true,
client:
{ connectionString: '10.196.160.100.:2181,10.196.160.150:2181,10.196.160.151:2181',
clientId: 'dev',
zkOptions: { sessionTimeOut: 10000, spinDelay: 1000, retries: 10 },
brokers:
{ 'custom-kafka.mine.com:9092': [Object],
'custom-storm.mine.com:9092': [Object] },
longpollingBrokers: {},
topicMetadata: {},
topicPartitions: {},
correlationId: 0,
cbqueue: {},
brokerMetadata: { '0': [Object], '1': [Object] },
ready: true,
zk: { client: [Object], _events: [Object], inited: true },
_events: { ready: [Object], error: [Object], close: [Object] } },
requireAcks: 1,
ackTimeoutMs: 100,
_events: {} }
我没有等待 on ('ready') 事件,而是检查了if(producer.ready),我能够在稍有超时的情况下发布到 kafka。
理想情况下,应该触发事件。
我不是确定我是否采用了正确的方法。
非常感谢任何指向这个方向的指针。
提前致谢
【问题讨论】:
标签: node.js apache-kafka