1

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

重新启动代理后,我必须手动重新启动我的微服务。是否可以在不进行任何手动操作的情况下为微服务添加重新使用新传入消息的功能?

谢谢!

4

1 回答 1

2

如果您使用的是 KafkaProducer 和 Consumer API,它们会在代理再次启动后自动重新连接。请确保在您的应用程序中您不会抛出异常并终止线程。如果您保持线程处于活动状态,那么它将重新连接。捕获消费者线程的所有异常,以确保它不会因运行时异常而退出。

于 2020-09-27T14:36:40.587 回答