11

我正在玩 Akka Stream,我试图在实现后弄清楚它的灵活性。

一种方法是使用低级反应流 API: http ://doc.akka.io/api/akka-stream-and-http-experimental/1.0-M3/#akka.stream.scaladsl.PublisherSource

但是,您需要定义这些点以发布或订阅。有没有办法发布或订阅任意物化流图节点?这应该是可能的,因为物化流图只不过是参与者的集合。

例如:首先部署流程图1:A ~> B ~> C

然后,部署流程图 2 和 3:D ~> BB ~> E

4

1 回答 1

10

不可能完全动态地改变流处理管道的结构。我们确实预见到某些类型的动态处理阶段(例如“可能来来去去的工作人员的扇出”),但一般来说,流和流处理管道应该在实现之前具有定义的布局。这也是有道理的,因为通常在 akka-streams 和reactive-streams中使用了背压机制——它必须在内部仔细管理,并且允许任意交互并不是这个模型的设计目的。

如果您想要任意交互,Actor 应该更适合您。如果您想要一个可以接收外部信号来控制处理管道的处理元件,那么它将是物化管道内的一个特殊元件,旨在接收这些信号,而不仅仅是任何元件。


自从我发表这篇文章以来,我们添加了一些动态功能,登陆该网站的人可能会感兴趣,尤其是MergeHubBroadcastHub

请注意,现在编写 Akka Streams 的稳定版本是2.4.16.

于 2015-02-17T14:23:26.773 回答