我将在我的一个RichMapFunction
中查询外部服务。外部服务在提供我的值方面有一些延迟,我应该尝试一下,延迟,然后为我的价值再试一次(当然在有限的计数中)!我知道我可以使用Thread.sleep
加上一个简单的可断开循环;但我希望我能找到更好的方法。
这听起来像是 Flink AsyncFunction
的主要用例。
AsyncFunction
可以向外部服务发送多个异步请求,同时保留正确的检查点和水印语义。这可以显著提高流应用程序的延迟和吞吐量,这样就不需要延迟流。
有关详细信息,请查看文档。