用于中长任务的WCF群集

时间:2014-04-20 23:39:07

标签: c# .net wcf cluster-computing

我们有一个自托管的WCF应用程序来分析文本。我们正在讨论的安装涉及处理批量的小文本片段(社交媒体)和较长的片段(如报纸文章)。较长的片段在一个WCF实例中平均需要5-6秒处理,而较短的片段在1秒内处理。每天有数百万种物品需要处理。

几个问题:

  1. 推荐配置是什么? Windows Azure /任何类型的IaaS,如由负载均衡器管理的Amazon /集群?
  2. WCF中是否内置了对负载均衡的支持,不需要编写包装器?
  3. 由于某种原因,当一个长任务正在运行而另一个任务被提交到部署在多核机器上的实例时,它们都在同一个核心上并行运行,而不是从另一个免费的核心开始。这是某种保守的分配吗?它可以更有效地管理吗?

1 个答案:

答案 0 :(得分:1)

  1. 简单的答案是Azure(因为它是微软的PaaS)但它并不是一个技术问题。这取决于成本和增长预测。
  2. 不是。 WCF supports load balancing,但WCF本身在您的流程中运行,无法自行加载平衡。它通常是您托管平台的一项功能。
  3. 如果那是2个不同的进程,那么操作系统会调度CPU时间,我不建议弄乱它。如果两者都在同一个核心上运行,那可能是因为它们可以(这是有意义的,因为如果IO,WCF会使用很多)