我应该在apacheflink中使用异步代码还是同步代码


0

当我的应用程序与IO(数据库,第三个API,…)交互时,我使用Async作为Flink的建议:https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/operators/asyncio.html。

我有很多问题:

    如果我使用async(completablefuture),那么我的应用程序不会因为使用sync code=>时的性能而被阻塞,异步代码是更好的同步代码?

1 答案


0

出于以下原因,使用异步i/o更好:

    更好地利用资源。如果您发出同步请求,那么一个任务一次只处理一个请求。对于异步请求,单个任务可以处理几十个正在处理的请求。

是的,您可以通过增加并行性来使同步i/o job 。但这是一个更好的解决方案。

至于邮箱问题,我相信只有当 job关闭时才会出现这种情况。我认为这是导致 job 失败的其他问题的副作用。也许可以在日志中查找其他关于发生了什么的迹象。


我来回答

写文章

提问题

面试题