如何处理生产者对akka.net路由器的限制

时间:2016-09-22 22:05:47

标签: akka.net

我是akka.net的新手,并试图尽可能多地阅读。我有2个场景,我不确定如何处理,并希望得到任何帮助或指示示例。

1)我有一个进程,它查找要放在文件系统上的zip文件,然后需要处理zip文件中包含的数千个XML文件。我已经创建了我的处理参与者并使用动态路由器来处理几百个请求。我的问题是如何限制生产者(在这种情况下只是循环遍历每个XML文件的迭代器),这样我就不会将数以千计的消息推送到我的路由器池中,在某些时候会被淹没。从本质上讲,我只是想保持演员阵容一直很忙。这有什么标准模式吗?

2)在某些时候,我可能需要处理多个actor的XML消息,其中每个actor将其输出发送到管道中的下一个actor,直到最终的actor完成。我希望这个管道是灵活的,即我可能需要Actor 1 - >演员2 - >一个消息的演员3但另一个消息可能只需要演员1 - 演员2.再次,是否有一些模式。我应该看一下溪流,因为这似乎有我之后的一些事情,或者只是将消息从一个演员传递到另一个演员?

任何指针都会感激不尽

提前致谢

麦克

1 个答案:

答案 0 :(得分:0)

是的akka​​.net溪流似乎是你需要的。您将能够为生产商提供压力以匹配消费速度。见stream integration with actors

对于第二部分,您希望使用简单地处理XML消息的步骤(输入和输出)的流程,您将能够灵活地添加/删除它们。开始的好地方Akka.net streams