【发布时间】:2023-01-27 08:18:54
【问题描述】:
我注意到我的系统发生了一些奇怪的事情。因此,我使用 Kafka 在不同系统之间发送和接收消息。我有大约 6 或 7 个主题,每个主题有 10 个分区。 我有一个外部系统正在发送有关我的 Kafka 主题的消息。因此,此外部系统最初会将消息发送到主题,例如。 “XYZ”并将等待服务器的响应。一旦服务器读取并响应外部系统,那么只有它才会继续。
现在在我们的场景中,当外部系统向主题“XYZ”发送消息时,它总是在第 6 号分区上发送。即使在多次重启整个系统后也会发生这种情况。关于 XYZ 主题的消息总是被发送到分区 6。
现在在服务器端,我正在使用 kafka-node 创建客户端、消费者和生产者来消费消息并将消息生成给 kafka。但在这种情况下,它不会从主题“XYZ”中消费。
作为一种解决方法,我尝试通过删除主题并再次创建它们来测试所有内容,但只使用一个分区,这次它运行良好。整个系统工作没有任何问题。
【问题讨论】:
-
你作为消费者订阅了吗?你能粘贴你的代码吗?
-
由于它是生产环境,因此无法粘贴代码,我无法在此处添加。这条线是什么意思? - “你作为消费者订阅了吗?”
-
您应该为消费者定义主题。据我所知,kafka 会自动处理分区。所以我想你的订阅功能和主题列表应该有问题。
标签: node.js apache-kafka kafka-node