Flink或Sparks vs Akka流中的非阻塞操作



在为我得到的项目选择其中一个之前,我正在学习和评估sparks和Flink。

在我的评估中,我提出了以下简单的任务,我可以弄清楚如何在这两个框架中实现它。

假设

1-/我有一个事件流,这些事件只是关于数据库中某个项目发生了更改的信息。

2-/I需要为每个事件查询数据库以获得新版本的项目

3-/应用一些转换

4-/连接到另一个Db并写入结果。

我的问题如下:

使用Flink或Sparks,如何确保对dbs的调用是异步处理的,以避免线程饥饿?

我来自scala/Akka,在那里,我们通常避免进行阻塞调用,并在这种情况下使用future。Akka流允许流处理的精细细节级别,例如将流与外部服务集成。这样可以避免线程不足。当我在io操作中等待时,线程可以用于其他操作。

简而言之,我不知道如何在这两个框架中处理期货。

所以我相信这两个框架都可以复制。

有人能解释一下在Flink或sparks中应该如何处理这件事吗。

如果这不是开箱即用的支持,有没有人有以某种方式将其纳入其中的经验。

从Flink的1.2.0版本开始,您现在可以使用Async I/O API来实现这一点。

相关内容

  • 没有找到相关文章

最新更新