我想在未捕获的异常处理程序中捕获异常后重新启动我的kafka Stream应用程序。这样做?
答案 0 :(得分:1)
如果您的应用程序(或者更准确地说,是您的应用程序实例)到达Kafka的Streams API中的UncaughtExceptionHandler
,那么它已经过了不归路的地步 - 您可以&# 39;从那里重新启动你的应用程序。
UEH旨在帮助您正常关闭应用程序实例,例如通过编写信息性日志消息,通过向监控设置发送指标,等等。
Kafka Streams应用程序是普通的Java / Scala应用程序,这意味着它们作为JVM进程运行。您可以使用任何能够管理此类流程的工具来保持它们正常运行,在发生故障时重新启动它们等等。现在流行的例子是Kubernetes,还有更多的老派技术,例如supervisord
工作得很好。