跨服务器分发多个服务副本的最佳方法是什么?

时间:2011-09-22 19:34:57

标签: c# wcf soa

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

  • 使用在其上运行的服务集合创建相同服务器的多个副本
  • 一个单独的服务器将有一个可执行存根,将运行以联系其中一个服务器(从列表中任意确定)以开始数据处理
  • 要联系的第一台服务器将成为“主”服务器,并将各种数据处理任务委派给其他“从”服务器。

我们花了很多时间来弄清楚如何设计这个并且我认为设计应该运行得很好,但我想我会看到是否有人对如何改进这种方法有任何建议。

2 个答案:

答案 0 :(得分:1)

解决方案是使用负载均衡器..

我有点偏向于此 - 因为我来自WSO2 - 开源WSO2 ESB可以用作负载均衡器 - 它具有基于不同标准的负载平衡和路由的灵活性。它也支持FO负载平衡......

Here是与WSO2 ESB负载均衡相关的一些示例...

您可以从here ...

下载该产品

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

答案 1 :(得分:0)

  

要联系的第一台服务器将成为“主”服务器   将各种数据处理任务委托给另一个“奴隶”   服务器

这绝对是我将如何构建它。

我构建它的目的是使用云计算(无论它是否使用真正的云计算)。我将有一个服务,将接收请求并将这些请求保存到队列中。然后我会有多个工作者应用程序,它们将从队列中取出一个项目,在进程中标记它并做任何需要做的事情。完成后,队列项将更新为已完成。

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