Web Api建议重定向呼叫,负载平衡

时间:2015-11-06 09:39:06

标签: c# asp.net-web-api load-balancing

我使用EntityManager Web Api application规则在三台服务器上分发了我的Load Balancer。对于指定的RestApi端点http://MyServer/api/LongRunningProcees,每个服务器都可以继续Round Robin 如果第二个请求在第一个请求未完成时发布到同一Rest API端点,则服务器返回503服务不可用。

我是新手来加载平衡,我找不到任何解决方案如何将请求重定向到另一台服务器,直到它被接受为止。这个Load Balancer是负责吗?

1 个答案:

答案 0 :(得分:0)

如果您想使用 Round Robin 算法,那么您必须接受某些服务器将忙碌而其他服务器将等待请求。该算法只是以这种方式工作。

但是,还有其他算法。例如最短响应时间,它根据服务器的响应时间选择服务器。详细信息取决于使用的Load Balancer。

此外,在我看来,如果服务器忙,服务器不应该返回503错误。而是应该将请求放入某种队列并等待服务器可用。如果在相似的时间内处理请求并使用合适的平衡算法,那么所有服务器的队列中应该具有相似数量的请求。