我现在想知道如何处理ApacheFlink streaming应用程序中的应用程序错误。一般来说,我看到两种情况:
- 暂时性错误,您希望重放输入数据,第二次尝试时处理可能会成功。一个例子是对外部服务的依赖,而外部服务暂时不可用。
对于第一种情况,常见的解决方案是抛出一些异常。或者是否有更好的方法,例如一种特殊类型的异常,以便更有效地处理,例如来自Apache Storm Trident的FailedException(参见Storm Trident拓扑中的错误处理)。
对于永久性错误,我在网上找不到任何信息。例如,map()操作总是必须返回一些内容,这样就不能像在Trident中那样,悄悄地删除消息。
有哪些可用的api或最佳实践?谢谢你的帮助。