2015-11-04 84 views
1

我已经创建了简单的ASP.NET Web API(self-host OWIN),它具有端点http://MyIp:80/process/file。如果请求数量超过Rest Api带来的HTTP异常,它只能接受5个并发请求并需要大约30秒才能继续处理请求。为了增加请求的数量,我打算在另一台服务器上托管ASP.NET Web API应用程序,但在这种情况下,我将为Rest Api获取不同的IP地址。我知道有负载平衡解决方案,但找不到如何在ASP.NET Web API中使用它的好源码。任何建议将不胜感激!ASP.NET Web API的Web平衡

+2

这是因为负载平衡是一个网络主题,它与Web API或任何其他框架无关。负载平衡器向全世界公开一个公共IP,但将流量分配给多个私有IP。平衡者的工作是在不同IP之间进行转换 –

+0

您的问题是您已将IP地址提供给您的消费者,现在是否需要重新定位您的服务?你应该使用DNS然后... – CodeCaster

回答

0

最简单的方法是使用云。特别是对于Microsoft技术,我会推荐Microsoft Azure。您将获得开箱即用的扩展和负载平衡以及使用云的许多其他好处。

0

这是一个穷人的负载平衡...忍耐与我。

您可以将一台服务器声明为主服务器,将另一台服务器声明为次服务器。

如果请求遇到主请求,但已经处理了这5个请求,它可以向次请求发出HTTP 307临时重定向。如果次级也过载,则发出错误。

使用307 temporary redirection,调用者知道可以将相同的HTTP动词重试到新的位置。因此,如果调用者正在对主服务器进行POST调用,并且获取指向辅助服务器的HTTP 307,则会将POST请求重新发送给辅助服务器。