我正在寻找使用 Akka 来解决以下问题的设计模式。假设我有一个包含大量记录事件的大文件。我启动一个处理文件的actor(Master),并为每个事件向actor池发送一条消息以进行处理(解析、转换等......),然后它们将结果发送回Master以序列化最终结果每个事件的。处理事件独立于其他事件。
所以我的第一个想法是使用Future.traverse
呼叫并等待整个列表。但我担心性能,因为处理事件是一项细粒度的任务,创建大的 Futures 列表可能会占用内存并消耗性能。
是否有任何模式可以让我使用?
运算符(即开即忘)但同时确认所有事件已处理的时间?