我对kafka还是很陌生,发生了一些我不理解的事情。我有2个应用。一种是使用SpringKafkas侦听器来处理消费者二进制avro消息并对其进行处理。为了进行调试,我编写了一个琐碎的第二cli应用程序,该应用程序使用主题,偏移代理等仅使用简单的kafka类就可以使用它,而无需使用spring kafka。他们俩都工作了一段时间。最近服务器出了点问题。
主应用程序现在不使用任何消息。在启动过程中,有时(!)会显示以下消息:“以下订阅的主题未分配给任何成员...”当启用调试时,我看到它正在旋转“分区的领导者……无法获取偏移量,等待元数据刷新”。
好的,我可以从中了解到集群发生了“问题”。让我感到困惑的是,我们的cli应用程序没有任何问题可以连接到集群,并从主题开始打印所有消息。我多次验证,这两个应用程序使用相同的代理,相同的主题,不同的groupId。这两个应用都没有在任何地方指定分区ID。
原因可能是,一个应用程序没有从主题中读取问题,而另一个应用程序无法“连接”并且既没有使用主题中已有的消息也没有消耗新消息?