Akka Streams`groupBy`在SubFlow完成时的容量变化?

sim*_*onl 5 akka akka-stream

groupBy在流数据流定义中使用时,其最大容量为n:

source.groupBy(Int.MaxValue, _.key).to(Sink.actorRef)
Run Code Online (Sandbox Code Playgroud)

如果我挂起导致说明的子流,一个Actor接收器,并且有目的地导致子流终止于某个消息,那么这会释放groupBy容量吗?它将从去nn-1n,如果一个子流是通过水槽结束?这是建立动态图表的可行方法吗?

Ste*_*tti 1

关于groupBy一般如何工作:是的,maxSubstreams容量是动态的,即它代表最大数量活动子流的最大数量。

GroupBy阶段在其内部状态中保留每个子流的引用,并且只要该特定子流完成,该引用就会被删除。

关于您的具体示例,我认为没有办法确保“子流由接收器结束”。这是因为通过使用to(Sink.actorRef)after a,groupBy所有流都将提供给一个参与者。