我有一个非常简单的Quarkus微服务,它使用smallrye reactive messaging (kafka)。有时我的kafka经纪人宕机了,我得到了以下日志:
2020-09-24 04:04:27,067 WARN [org.apa.kaf.cli.NetworkClient] (kafka-producer-network-thread | producer-1) [Producer clientId=producer-1] Bootstrap broker xxxxxxx.xxxx.xxx:2202 (id: -1 rack: null) disconnected 2020-09-24 04:04:27,083 WARN [org.apa.kaf.cli.NetworkClient] (kafka-producer-network-thread | producer-3) [Producer clientId=producer-3] Connection to node -1 (xxxxx.xxxx.xxxx.fr/XX.XX.XX.XXX:2202) could not be established. Broker may not be available.在重新启动代理之后,我必须手动重新启动我的微服务。是否可以向微服务添加功能,以便在不进行任何手动操作的情况下重新使用新传入的消息?
谢谢!
发布于 2020-09-27 22:36:41
如果您使用的是KafkaProducer和Consumer API,那么一旦代理再次启动,它们就会自动重新连接。请确保在您的应用程序中不会抛出异常并终止线程。如果你让线程保持活动状态,它就会重新连接。捕获消费者线程的所有异常,以确保它不会因为运行时异常而退出。
https://stackoverflow.com/questions/64087004
复制相似问题