【发布时间】:2017-02-28 06:33:22
【问题描述】:
我正在尝试为包含并行处理流的 Akka 流定义一个图(我正在使用 Akka.NET,但这应该没关系)。想象一个订单的数据源,每个订单由一个订单 ID 和一个产品列表(订单项)组成。工作流程如下:
- 接收和订购
- 将订单广播到两个流,流 A 处理订单商品,通道 B 处理订单 ID(一些记账工作)
- 流程 A:将订单项目集合拆分为单独的元素,每个元素单独处理
- 流程 A:对于上一步中拆分产生的每个订单商品,调用一些外部服务来查找额外信息(价格、可用性等)
- 流程 B:为给定的订单 ID 做一些额外的记账
- 合并流 A 和 B
- 将上一步中的合并数据发送到接收器,从而丰富订单信息
步骤 1(Source.From)、2(广播)、4-5(地图)、6(合并)、7(接收器)看起来没问题。但是如何在 Akka 或响应式流术语中实现集合拆分?这不是广播或扁平化,需要将 N 个元素的集合拆分为 N 个独立的子流,这些子流稍后将被合并回来。这是如何实现的?
【问题讨论】:
标签: akka akka-stream