akka流将各个阶段融合在一起的方式不是很透明。我想知道是否有办法:
答案 0 :(得分:1)
查看哪些阶段融合在一起
我不知道有任何记录的揭示融合图阶段的方法。假设默认情况下会融合内置线性运算符(除非应用了async
),这是非常安全的。
强制将某些阶段融合在一起
较早的Akka Stream版本确实提供了一些手动stage fusing的方法,您可以选择使用以下配置设置来禁用默认的自动融合:
akka.stream.materializer.auto-fusing=off
但是最新的API(2.5
)不仅试图在幕后自动处理定影,而且还尝试disallow manual fusing。
答案 1 :(得分:0)
我想说documentation对于运算符融合非常透明:
默认情况下,Akka Streams将融合流运算符。
Operator融合是默认行为,这意味着默认情况下,整个流将在同一actor中运行。要更改此行为,请使用async
方法在您不想融合的舞台上定义异步边界。