繁体   English   中英

试图在卡夫卡建立消费者和生产者

[英]Trying to setup consumer and producer in Kafka

我正在尝试使用node-rdkafka在Kafka上进行简单的生产者-消费者流

我正在使用debug: 'all'模式,这是我从日志中得到的:

生产者: test [0]: MessageSet with 1 message(s) delivered

使用者: Fetch topic test [0] at offset 38 (v2)

消费者在生成消息时正在更改偏移量这一事实使我相信与代理的连接已正确建立并经过身份验证。

但是,由于某种原因,我没有在消费者中得到消息本身。

此事件永远不会被调用:

consumer.on('data', function(m) {
    console.log("consumed", m)
});

我创建了一个用于测试的演示项目,您需要具有支持SASL_SSL协议的Kafka代理才能使用它:

https://github.com/guysegal/kafka-example

具体来说,这是使用者代码:

https://github.com/guysegal/kafka-example/blob/master/src/consumer.ts

和生产者代码:

https://github.com/guysegal/kafka-example/blob/master/src/producer.ts

您可能需要将值设置为'auto.offset.reset': 'earliest' ,然后再次启动使用者。

auto.offset.reset 

如果消费者从没有最后已知状态的组开始,这个属性决定了消费者的开始位置 例如,在新的组ID的情况下。

之所以更改auto.offset.reset的值, auto.offset.reset因为如果您首先生产并在此之后启动使用者,则主题偏移量已经增加,使用者将以最新的偏移量开始(偏移量增加)并从该点开始读取消息。

'earliest'情况下,消费者从主题的第一个可用消息开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM