【问题标题】:How to handle throttling of producer to an akka.net router如何处理生产者对 akka.net 路由器的限制
【发布时间】:2016-09-22 22:05:46
【问题描述】:

我是 akka.net 的新手,并尝试尽可能多地阅读。我有 2 个场景我不知道如何处理,如果有任何帮助或指向示例,我将不胜感激。

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

2) 在某些时候,我可能需要使用多个参与者处理 XML 消息,其中每个参与者将其输出发送到管道中的下一个参与者,直到最终参与者完成。我希望这条管道灵活,即一条消息我可能需要 Actor 1 -> Actor 2 -> Actor 3,但另一个消息可能只需要 Actor 1 - Actor 2。同样,是否有一些模式。我应该查看流,因为这似乎包含我所追求的一些内容,还是只是将消息从一个演员传递给另一个演员?

任何指点将不胜感激

提前致谢

迈克

【问题讨论】:

    标签: akka.net


    【解决方案1】:

    是的,akka.net 流似乎是您所需要的。您将能够向您的生产者施加压力以匹配消费速度。见stream integration with actors

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

    【讨论】:

      猜你喜欢
      • 2017-09-07
      • 2017-08-30
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 2020-01-15
      相关资源
      最近更新 更多