3

在尝试实现 Service Fabric 的 Reliable Services 管道时,我有以下三种方法可供选择:

在此处输入图像描述

看起来C是一个不错的选择。详情在这里。

在这种情况下,我需要在工作服务之间实现某种消息泵。

例如,我有 2 种工人服务。第一个是 IO-bound 并且不需要可扩展性。其次是受 CPU 限制,需要可扩展性,因此它使用分区。我不关心究竟将使用什么分区来处理具体项目,因此消息泵必须充当负载平衡器,并将项目排入 CPU 绑定服务,输入队列中的项目最少。现在我已经为此目的创建了一个有状态的服务。

在这种形式中,这看起来与 TPL 数据流管道非常相似。

我的问题是我是否正确使用了 Service Fabric?这里有过度工程吗?

Reliable Actors 是否更适合这种管道?(或管道的一部分)

在此处输入图像描述

4

1 回答 1

1

我认为 Actors 不是解决这个问题的正确方法。RunASync() 方法很难在 Actor 中模拟。您可以为此使用计时器和提醒,但感觉不自然。所以我会为此提供服务。

于 2015-11-27T15:38:02.310 回答