有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Kafka通过微服务订阅不存在的主题

我有一个系统构建了多个微服务(java spring boot),通过grpc和avro消息进行通信。它使用卡夫卡队列。 我的问题是:服务正在有序地构建,我的一个服务订阅了卡夫卡主题,然后另一个发送消息并创建它。我没有得到任何错误,所以它看起来像是在工作,但不是。这个话题在当时并不存在,当它收到信息时,消费者服务没有注意到它。如果我重启客户端服务,它就可以加入主题并正常工作。 我想解决的问题是,消费者可以创建订阅的主题,如果没有收到任何消息,也可以尝试重新连接


共 (1) 个答案

  1. # 1 楼答案

    是的,我也见过这个问题。出于这一点和其他原因,我们想出了一个最简单的解决方案,那就是在部署微服务时创建主题。(长话短说:我们在CI/CD盒上打电话给kafka-topics.sh,目标是合适的动物园管理员和经纪人)

    如果您的微服务部署脚本知道要创建哪些主题,并确保在应用程序启动之前创建它们,那么问题就可以避免