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

Akka Streams `groupBy` capacity change on SubFlow completion?

在最大容量为 n 的流定义中使用 groupBy 时:

source.groupBy(Int.MaxValue, _.key).to(Sink.actorRef)

如果我连接导致 Actor 接收器的子流,并有目的地使子流在某些消息上终止,这会释放 groupBy 容量吗?如果一个子流被接收器结束,它会从 nn-1 回到 n 吗?这是建立动态图的可行方法吗?

关于 groupBy 的一般工作方式:,maxSubstreams 容量是动态的,即它表示 活动子流的最大数量.

GroupBy 阶段在其内部状态中保留每个子流的引用,并在特定子流完成时将其删除。

关于您的具体示例,我认为没有办法确保 "a subflow is ended by the sink"。这是因为通过在 groupBy 之后使用 to(Sink.actorRef),所有流都将提供给一个参与者。