C# 什么';跨服务器分发多个服务副本的最佳方式是什么?

C# 什么';跨服务器分发多个服务副本的最佳方式是什么?,c#,wcf,soa,C#,Wcf,Soa,我们有多个服务来执行一些繁重的数据处理,我们希望在多个服务器上放置它们的多个副本。基本上是这样的: 创建相同服务器的多个副本,并在其上运行服务集合 一个单独的服务器将有一个可执行存根,该存根将运行以联系其中一个服务器(从列表中任意确定)以开始数据处理 第一个要联系的服务器将成为“主”服务器,并将各种数据处理任务委托给其他“从”服务器 我们已经花了相当多的时间来研究如何构建这个方法,我认为设计应该很好地工作,但我想我会看看是否有人对如何改进这个方法有任何建议 第一个要联系的服务器将成为“主”服

我们有多个服务来执行一些繁重的数据处理,我们希望在多个服务器上放置它们的多个副本。基本上是这样的:

  • 创建相同服务器的多个副本,并在其上运行服务集合
  • 一个单独的服务器将有一个可执行存根,该存根将运行以联系其中一个服务器(从列表中任意确定)以开始数据处理
  • 第一个要联系的服务器将成为“主”服务器,并将各种数据处理任务委托给其他“从”服务器
我们已经花了相当多的时间来研究如何构建这个方法,我认为设计应该很好地工作,但我想我会看看是否有人对如何改进这个方法有任何建议

第一个要联系的服务器将成为“主”服务器,并且 将各种数据处理任务委托给另一个“从机” 服务器

这绝对是而不是我将如何构建这个

我构建它的目的是使用云计算(不管它是否使用真正的云计算)。我会有一个服务来接收请求并将这些请求保存到队列中。然后,我将拥有多个工作者应用程序,这些应用程序将从队列中获取一个项目,在流程中标记它,并执行任何需要执行的操作。完成后,队列项目将更新为“完成”


此时,我会通知客户端工作已完成,或者您可以让客户端轮询服务器以读取队列的状态。

解决方案是使用负载平衡器

我在这里有点偏颇——因为我来自WSO2——开源WSO2 ESB可以用作负载平衡器——并且它具有基于不同标准的负载平衡和路由的灵活性。它还支持FO负载平衡

很少有与WSO2 ESB负载平衡相关的示例

您可以从以下位置下载产品


eBay使用WSO2 ESB在其主流API流量中每天处理超过10亿笔交易…

查找应用程序结构负载平衡。负载平衡器将为您完成这项工作。这更像是一个应用程序架构问题。我会让它保留下来,不过如果你能扩展一点,它可能是PSE的一个。我们并不是真的在寻找负载平衡。我们只是想要一种快速而肮脏的方式来运行我们服务的多个副本。