代理不可用后自动重启Quarkus Microservice

时间:2020-09-27 09:40:01

标签: apache-kafka quarkus smallrye-reactive-messaging smallrye

我有一个非常简单的Quarkus微服务,它使用smallrye反应消息传递(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.

重新启动代理后,我必须手动重新启动微服务。无需任何手动操作,是否可以增加微服务的功能来重新使用新的传入消息?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是KafkaProducer和Consumer API,则一旦代理再次启动,它们就会自动重新连接。 请确保在您的应用程序中您不会引发异常并杀死线程。如果使线程保持活动状态,它将重新连接。捕获Consumer线程的所有异常,以确保它不会由于运行时异常而退出。