使用Akka流或Akka Actor进行动态管道创建

时间:2018-07-02 18:13:16

标签: akka actor akka-stream

我必须实现一个过程,该过程从队列中轮询消息并将数据转发到http端点。通常,我认为最好的方法是使用Akka流(带有Akka http),因为它可以为您处理反压等。问题是我必须在运行时(基于http调用)使用不同的配置按需创建多个此类管道。另一个要求是,应该有可能在运行时动态停止这些管道之一,并以另一种配置启动它。

我目前不确定在运行时是否真的有可能动态启动新的并行akka流管道(以及删除并重新启动其中的一些管道)。对我来说,目前最好使用akka actor(基于队列消费者actor和akka http actor,我可以在运行时动态创建一对),但是要使用它们,我还必须手动实现反压等。

您认为可以通过Akka流创建此文件吗?还是会很麻烦?

谢谢!

1 个答案:

答案 0 :(得分:0)

一旦固定流并开始运行,就无法重新路由该流。但是,由于您以编程方式配置流,因此动态定义新流并运行它们非常方便。一切都取决于特定的用例,但我会选择一个接收队列消息并将其分发到给定流的单个协调器参与者。同一协调员将收到配置更改请求,因此它将配置新的流,删除旧的流等。

不要去手动接线演员。它很难遵循和维护。