鉴于:
某种外部源的数据导入。可以按定义大小的块读取数据。例如一次 10 个项目。例如电子邮件。
现在每个块都必须通过一些步骤来转换数据、过滤项目等等。
块或块的项目之间没有关系。处理顺序也不重要
问题
现在我正在考虑如果我使用 akka 来实现最佳的并行化和性能,什么样的结构才是正确的。
1.) 我是否更有可能将所有演员创建为一连串的孩子。所以 importActor 有一个 Child,这是第一步。第一步有第二步作为孩子等等。
或者更有可能有一个 ImportActor 具有所有步骤并在另一个之后调用?
2.) 现在一个actor一次只能处理一条消息。为了使导入过程并行化,我考虑使用PipeTo机制。这是一个好主意吗?有更好的选择吗?
3.) 我会为每个块创建一个像“Import_ Chunk1 _Actor”这样的演员,还是将所有消息推送到单个“ImportActor”?