如何在未捕获的异常处理程序中重新启动kafka Stream应用程序?

时间:2018-05-02 10:04:34

标签: java apache-kafka apache-kafka-streams

我想在未捕获的异常处理程序中捕获异常后重新启动我的kafka Stream应用程序。这样做?

1 个答案:

答案 0 :(得分:1)

如果您的应用程序(或者更准确地说,是您的应用程序实例)到达Kafka的Streams API中的UncaughtExceptionHandler,那么它已经过了不归路的地步 - 您可以&# 39;从那里重新启动你的应用程序。

UEH旨在帮助您正常关闭应用程序实例,例如通过编写信息性日志消息,通过向监控设置发送指标,等等。

Kafka Streams应用程序是普通的Java / Scala应用程序,这意味着它们作为JVM进程运行。您可以使用任何能够管理此类流程的工具来保持它们正常运行,在发生故障时重新启动它们等等。现在流行的例子是Kubernetes,还有更多的老派技术,例如supervisord工作得很好。