SubFlow 完成时 Akka Streams `groupBy` 容量变化?
Akka Streams `groupBy` capacity change on SubFlow completion?
在最大容量为 n
的流定义中使用 groupBy
时:
source.groupBy(Int.MaxValue, _.key).to(Sink.actorRef)
如果我连接导致 Actor 接收器的子流,并有目的地使子流在某些消息上终止,这会释放 groupBy
容量吗?如果一个子流被接收器结束,它会从 n
到 n-1
回到 n
吗?这是建立动态图的可行方法吗?
关于 groupBy
的一般工作方式:是,maxSubstreams 容量是动态的,即它表示 活动子流的最大数量.
GroupBy
阶段在其内部状态中保留每个子流的引用,并在特定子流完成时将其删除。
关于您的具体示例,我认为没有办法确保 "a subflow is ended by the sink"。这是因为通过在 groupBy
之后使用 to(Sink.actorRef)
,所有流都将提供给一个参与者。
在最大容量为 n
的流定义中使用 groupBy
时:
source.groupBy(Int.MaxValue, _.key).to(Sink.actorRef)
如果我连接导致 Actor 接收器的子流,并有目的地使子流在某些消息上终止,这会释放 groupBy
容量吗?如果一个子流被接收器结束,它会从 n
到 n-1
回到 n
吗?这是建立动态图的可行方法吗?
关于 groupBy
的一般工作方式:是,maxSubstreams 容量是动态的,即它表示 活动子流的最大数量.
GroupBy
阶段在其内部状态中保留每个子流的引用,并在特定子流完成时将其删除。
关于您的具体示例,我认为没有办法确保 "a subflow is ended by the sink"。这是因为通过在 groupBy
之后使用 to(Sink.actorRef)
,所有流都将提供给一个参与者。